11
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
URL mặc định của tôi sẽ giống như
//localhost:4444/index.html?file=sample
Và tôi có một danh sách thả xuống với các tên tệp khác nhau, tôi muốn thay thế tham số
location.href = location.href + "filename" ;
0 bằng cách nhấp vào danh sách thả xuống. Đối với mỗi và mọi thay đổi, URL nên được thay đổi với tham số hiện có.For each and every change the URL should be altered with existing parameter.
Tôi đã thử với sau đây,
location.href = location.href + "filename" ;
Nhưng nó sẽ không thay thế tên tệp.
Đã hỏi ngày 23 tháng 10 năm 2013 lúc 10:09Oct 23, 2013 at 10:09
4
Chào mừng bạn đến với năm 2018, bây giờ bạn có thể sử dụng UrlSearchParams để xử lý việc phân tích cú pháp và thay thế bạn nhận được
var params = new URLSearchParams[location.search];
params.set['file', 'sample'];
window.location.search = params.toString[];
UrlSearchParams sẽ thay thế hoặc thêm tham số vào chuỗi truy vấn khi cần.
Đã trả lời ngày 23 tháng 1 năm 2018 lúc 21:38Jan 23, 2018 at 21:38
Bạn có thể thử điều này:
location.search = location.search.replace[/file=[^&$]*/i, 'file=filename'];
Thuộc tính
location.href = location.href + "filename" ;
1 chỉ giữ phần truy vấn của URL để bạn không phải lo lắng rằng bất kỳ phần nào khác của URL [ví dụ: miền hoặc băm] sẽ được sửa đổi. Ngoài ra, Regex sẽ chỉ thay thế tham số location.href = location.href + "filename" ;
2. Nó rất hữu ích khi bạn sẽ có một số tham số khác trong truy vấn.Also, the regex will replace only the
location.href = location.href + "filename" ;
2 parameter. It is useful when you'll have some other parameters in query.Đã trả lời ngày 23 tháng 10 năm 2013 lúc 10:13Oct 23, 2013 at 10:13
Matewkamatewkamatewka
9.7562 huy hiệu vàng28 Huy hiệu bạc43 Huy hiệu đồng2 gold badges28 silver badges43 bronze badges
1
Một cách là:
location.href = location.origin + location.pathname + '?file=filename';
Nhưng điều này sẽ chỉ hoạt động khi bạn có một tham số sau
location.href = location.href + "filename" ;
3. Nếu bạn có nhiều hơn - bạn cần phải phân tích lại chúng và áp dụng lại.Đã trả lời ngày 23 tháng 10 năm 2013 lúc 10:13Oct 23, 2013 at 10:13
MatewkamatewkaDziad Borowy
9.7562 huy hiệu vàng28 Huy hiệu bạc43 Huy hiệu đồng4 gold badges39 silver badges51 bronze badges
2
Một cách là:
var filename = 'myFilename.csv';
var paramName = 'file';
var newParam = paramName + '=' + filename;
if[window.location.search]{
var regex = new RegExp[paramName + '=[^&$]*', 'i'];
window.location.search = window.location.search.replace[regex, newParam];
}else{
window.location.search = newParam;
}
Nhưng điều này sẽ chỉ hoạt động khi bạn có một tham số sau
location.href = location.href + "filename" ;
3. Nếu bạn có nhiều hơn - bạn cần phải phân tích lại chúng và áp dụng lại.Jul 21, 2017 at 20:02
Dziad Borowydziad BorowyWeston Ganger
12.2k4 Huy hiệu vàng39 Huy hiệu bạc51 Huy hiệu Đồng3 gold badges39 silver badges38 bronze badges
27JunJun
Với mục đích theo dõi, đôi khi chúng tôi muốn cập nhật các tham số URL trang nhưng không làm mới trang đó [tức là: ứng dụng một trang]. Chẳng hạn, nếu chúng ta có theo dõi tiến trình hoặc trở lại một địa điểm cụ thể sau đó.
Làm thế nào để nối các tham số vào URL, nhưng không thực hiện một trang làm mới/tải lại/chuyển hướng?
Nếu bạn đặt một cửa sổ mới. Vị trí bạn sẽ tải lại trang. Nếu bạn muốn tránh điều này, hãy sử dụng JavaScript Replacestate hoặc Pushstate.
Phương pháp này đặc biệt hữu ích khi bạn muốn cập nhật đối tượng trạng thái hoặc URL của mục nhập lịch sử hiện tại để đáp ứng với một số hành động của người dùng. [Nhà phát triển.mozilla.org]
JavaScript: Cập nhật tham số mà không tải lại trang::
- với thay thế
window.history.replaceState[null, null, '?step=1'];
- Hoặc & nbsp; với Pushstate
window.history.pushState['object or string', 'title', 'new url'];
Example:
// currentStep is the variable name of the step window.history.replaceState[null, null, '?step='+currentStep ];
Cách nhận tham số URL trong JavaScript:
const queryString = window.location.search; if[queryString] { const urlParams = new URLSearchParams[queryString]; const stepValue = urlParams.get['step']; // do something with the value. }
Hy vọng điều đó sẽ giúp / có thể giúp bạn tiết kiệm thời gian :]