Mẹo Làm cách nào để lấy URL trong JavaScript?
Thủ Thuật về Làm cách nào để lấy URL trong JavaScript? Chi Tiết
Hoàng Đức Anh đang tìm kiếm từ khóa Làm cách nào để lấy URL trong JavaScript? được Cập Nhật vào lúc : 2022-12-19 13:44:03 . Với phương châm chia sẻ Mẹo về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read tài liệu vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Admin lý giải và hướng dẫn lại nha.Tham số URL (còn được gọi là tham số chuỗi truy vấn hoặc biến URL) được sử dụng để gửi một lượng nhỏ tài liệu từ trang này sang trang khác hoặc từ máy khách đến sever thông qua một URL. Chúng hoàn toàn có thể chứa tất cả nhiều chủng loại thông tin hữu ích, ví dụ như truy vấn tìm kiếm, ra mắt link, thông tin sản phẩm, tùy chọn người tiêu dùng, v.v.
Nội dung chính Show- Nhận thông số URLCác phương pháp hữu ích khácKiểm tra sự hiện hữu của một tham sốNhận tất cả những giá trị của tham sốLặp lại những tham sốHỗ trợ trình duyệtCuộn hiệu suất cao phân tích chuỗi truy vấn của riêng bạnNhững điều nên phải biết trước khi sử dụng hiệu suất cao nàyCách hiệu suất cao hoạt độngPhần kết luậnChia sẻ nội dung bài viết này
Trong nội dung bài viết này, chúng tôi sẽ chỉ cho bạn cách phân tích và thao tác những tham số URL bằng JavaScript
Nhận thông số URL
Trong những trình duyệt tân tiến, điều này đã trở nên thuận tiện và đơn giản hơn rất nhiều nhờ vào giao diện URLSearchParams. Điều này xác định một loạt những phương thức tiện ích để thao tác với chuỗi truy vấn của một URL
Giả sử rằng URL của chúng tôi là
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 0, chúng tôi hoàn toàn có thể lấy chuỗi truy vấn bằng phương pháp sử dụng const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 1const queryString = window.location.search; console.log(queryString); // ?product=shirt&color=blue&newuser&size=mSau đó, chúng tôi hoàn toàn có thể phân tích cú pháp những tham số của chuỗi truy vấn bằng phương pháp sử dụng
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 2const urlParams = new URLSearchParams(queryString);Sau đó, chúng tôi gọi bất kỳ phương thức nào của nó trên kết quả
Ví dụ:
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 3 sẽ trả về giá trị đầu tiên được link với tham số tìm kiếm đã choconst product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty stringCác phương pháp hữu ích khác
Kiểm tra sự hiện hữu của một tham số
Bạn hoàn toàn có thể sử dụng
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 4 để kiểm tra xem một tham số nào đó có tồn tại hay không________số 8Nhận tất cả những giá trị của tham số
Bạn hoàn toàn có thể sử dụng
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 5 để trả về tất cả những giá trị được link với một tham số cụ thểconst product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 0Lặp lại những tham số
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 2 cũng đáp ứng một số trong những phương thức lặp const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 7 quen thuộc, được cho phép bạn lặp qua những khóa, giá trị và mục nhập của nóconst product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 3Hỗ trợ trình duyệt
Tại thời điểm viết bài, nó được tương hỗ trong tất cả những trình duyệt chính
Có sẵn một polyfill nếu bạn phải tương hỗ những trình duyệt cũ như Internet Explorer. Hoặc, bạn hoàn toàn có thể tuân theo phần còn sót lại của hướng dẫn này và tìm hiểu cách cuộn của riêng bạn
Cuộn hiệu suất cao phân tích chuỗi truy vấn của riêng bạn
Hãy ở lại với URL mà chúng tôi đã sử dụng trong phần trước
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 4Đây là một hiệu suất cao đáp ứng cho bạn tất cả những tham số URL dưới dạng một đối tượng ngăn nắp
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 5Bạn sẽ sớm thấy phương pháp hoạt động và sinh hoạt giải trí của tính năng này, nhưng trước tiên, đây là một số trong những ví dụ sử dụng
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 6Và đây là một bản demo để bạn chơi xung quanh
Xem Bút rQGWpP của SitePoint (@SitePoint) trên CodePen
Những điều nên phải biết trước khi sử dụng hiệu suất cao này
Hàm của chúng tôi giả sử những tham số được phân tách bằng ký tự
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 9, như được chỉ ra trong. Tuy nhiên, định dạng tham số URL nói chung là , vì vậy đôi khi bạn hoàn toàn có thể thấy console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 0 hoặc console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 1 làHàm của tất cả chúng ta vẫn hoạt động và sinh hoạt giải trí nếu một tham số không còn dấu bằng hoặc nếu nó có dấu bằng nhưng không còn mức giá trị
Các giá trị của những tham số trùng lặp được đưa vào một mảng
Nếu bạn chỉ muốn một hiệu suất cao mà bạn hoàn toàn có thể đưa vào mã của tớ, bạn đã hoàn thành xong ngay giờ đây. Nếu bạn muốn hiểu hiệu suất cao này hoạt động và sinh hoạt giải trí ra làm sao, hãy tham khảo tiếp
Phần sau đây giả sử bạn biết một số trong những JavaScript, gồm có hàm, đối tượng và mảng. Nếu bạn cần xem lại, hãy xem tài liệu tham khảo MDN JavaScript
Cách hiệu suất cao hoạt động và sinh hoạt giải trí
Nhìn chung, hàm lấy chuỗi truy vấn của URL (phần sau
console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 2 và trước console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 3) và đưa ra tài liệu trong một đối tượng ngăn nắpĐầu tiên, dòng này cho biết thêm thêm, nếu chúng tôi đã chỉ định một URL, hãy lấy mọi thứ sau dấu chấm hỏi, nhưng nếu không, chỉ việc sử dụng URL của hiên chạy cửa số
const queryString = window.location.search; console.log(queryString); // ?product=shirt&color=blue&newuser&size=m 2Tiếp theo, chúng tôi sẽ tạo một đối tượng để tàng trữ những tham số của chúng tôi
const urlParams = new URLSearchParams(queryString); 0Nếu chuỗi truy vấn tồn tại, chúng tôi sẽ khởi đầu phân tích cú pháp chuỗi đó. Trước tiên, chúng tôi phải đảm bảo vô hiệu phần bắt nguồn từ
console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 3, vì nó không phải là một phần của chuỗi truy vấnconst urlParams = new URLSearchParams(queryString); 1Bây giờ tất cả chúng ta hoàn toàn có thể chia chuỗi truy vấn thành những phần cấu thành của nó
const urlParams = new URLSearchParams(queryString); 2Điều đó sẽ cho tất cả chúng ta một mảng trông như vậy này
const urlParams = new URLSearchParams(queryString); 3Tiếp theo, chúng tôi sẽ lặp qua mảng này và chia từng mục thành một khóa và một giá trị, chúng tôi sẽ sớm đưa vào đối tượng của tớ
const urlParams = new URLSearchParams(queryString); 4Hãy gán khóa và giá trị cho những biến riêng lẻ. Nếu không còn mức giá trị tham số, chúng tôi sẽ đặt giá trị đó thành
console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 5 để cho biết thêm thêm rằng tên tham số tồn tại. Vui lòng thay đổi điều này tùy thuộc vào trường hợp sử dụng của bạnconst urlParams = new URLSearchParams(queryString); 5Theo tùy chọn, bạn hoàn toàn có thể đặt tất cả tên và giá trị tham số thành chữ thường. Bằng cách đó, bạn hoàn toàn có thể tránh được tình huống ai đó gửi lưu lượng truy vấn đến một URL có
console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 6 thay vì console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 7 và tập lệnh của bạn bị hỏng. (Tôi đã thấy điều này xảy ra. ) Tuy nhiên, nếu chuỗi truy vấn của bạn cần phân biệt chữ hoa chữ thường, vui lòng bỏ qua phần nàyconst urlParams = new URLSearchParams(queryString); 6Tiếp theo, tất cả chúng ta cần xử lý nhiều chủng loại đầu vào rất khác nhau mà tất cả chúng ta hoàn toàn có thể nhận được trong
console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 8. Đây hoàn toàn có thể là một mảng được lập chỉ mục, một mảng không được lập chỉ mục hoặc một chuỗi thông thườngNếu đó là một mảng được lập chỉ mục, chúng tôi muốn
console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 9 tương ứng là một mảng, với giá trị được chèn vào đúng vị trí. Nếu đó là một mảng không được lập chỉ mục, chúng tôi muốn console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 9 tương ứng là một mảng với phần tử được đẩy vào nó. Nếu đó là một chuỗi, chúng tôi muốn tạo một thuộc tính thông thường trên đối tượng và gán console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 9 cho nó, trừ khi thuộc tính đó đã tồn tại, trong trường hợp đó, chúng tôi muốn quy đổi console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 9 hiện có thành một mảng và đẩy console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false 9 sắp tới vào đóĐể minh họa điều này, đây là một số trong những đầu vào mẫu, với đầu ra mà tất cả chúng ta mong đợi
const urlParams = new URLSearchParams(queryString); 7Và đây là mã để thực hiện hiệu suất cao
const urlParams = new URLSearchParams(queryString); 8Cuối cùng, chúng tôi trả về đối tượng của tớ với những tham số và giá trị
Nếu URL của bạn có bất kỳ ký tự đặc biệt nào được mã hóa như dấu cách (được mã hóa thành
const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string 04), bạn cũng hoàn toàn có thể giải thuật chúng để nhận giá trị ban đầu như vậy nàyconst urlParams = new URLSearchParams(queryString); 9Chỉ cần thận trọng không giải thuật thứ gì đó đã được giải thuật, nếu không, tập lệnh của bạn sẽ bị lỗi, đặc biệt nếu có liên quan đến phần trăm
Dù sao, xin chúc mừng. Bây giờ bạn đã biết phương pháp lấy tham số URL và kỳ vọng bạn đã học được một số trong những thủ thuật khác trong quá trình thực hiện
Phần kết luận
Mã trong nội dung bài viết này hoạt động và sinh hoạt giải trí cho những trường hợp sử dụng phổ biến nhất mà bạn sẽ nhận được tham số truy vấn URL. Nếu bạn đang thao tác với bất kỳ trường hợp cạnh nào, ví dụ như dấu tách không phổ biến hoặc định dạng đặc biệt, thì hãy đảm bảo kiểm tra và điều chỉnh cho phù hợp
Nếu bạn muốn làm nhiều hơn nữa với URL, có sẵn những thư viện rõ ràng, ví dụ như chuỗi truy vấn và URI trung gian. js. Nhưng vì về cơ bản nó là thao tác chuỗi, nên thường chỉ sử dụng JavaScript đơn giản. Cho dù bạn sử dụng mã của riêng mình hay sử dụng thư viện, hãy nhớ kiểm tra mọi thứ và đảm nói rằng nó hoạt động và sinh hoạt giải trí cho những trường hợp sử dụng của bạn
Nếu bạn thích chơi với chuỗi, hãy xem những bài đăng của chúng tôi về tách chuỗi thành chuỗi con, quy đổi chuỗi thành số và quy đổi số thành chuỗi và thứ tự. Để có thêm kiến thức nâng cao về JavaScript, hãy tham khảo cuốn sách JavaScript của chúng tôi. Tập làm Ninja, Phiên bản 2
Chia sẻ nội dung bài viết này

Yaphi Berhanu
Yaphi Berhanu là một nhà phát triển web thích giúp mọi người nâng cao kỹ năng viết mã của tớ. Anh ấy viết mẹo và thủ thuật tại . //mã bước đơn giản. com. Theo ý kiến hoàn toàn không thiên vị của tớ, anh ấy đề nghị kiểm tra nó
Tải thêm tài liệu liên quan đến nội dung bài viết Làm cách nào để lấy URL trong JavaScript? programming javascript
Post a Comment