Hướng dẫn javascript change url on refresh - javascript thay đổi url khi làm mới

Tôi hiện đang ở trên một trang

www.example123.com/search?error=1

. Trên trang làm mới, trang nên được tải với URL sau.

www.example123.com/search

hoặc

www.example123.com/search?error=

Làm thế nào để làm điều này trong JS hoặc JQuery? Giải pháp nên hoạt động trong tất cả các trình duyệt chính.

Hỏi ngày 28 tháng 9 năm 2014 lúc 13:57Sep 28, 2014 at 13:57

8

Tôi đã làm điều đó bằng cách sử dụng sự kiện dỡ hàng. Sự kiện này sẽ được gọi khi một trang được làm mới.

$[window].unload[function[] {
     var currentURL = window.location.href;
     var index = currentURL.indexOf["?error="];
     if[index > -1] {
         window.location.href = currentURL.substring[0, index];
     }
}];

Sau đó, trang sẽ được làm mới với URL mới.

Hãy cho tôi biết nếu điều này sẽ không hoạt động trong mọi trường hợp.

Lưu ý: Nó không hoạt động trong Chrome. Làm thế nào để làm cho nó hoạt động trong Chrome?

Đã trả lời ngày 28 tháng 9 năm 2014 lúc 14:48Sep 28, 2014 at 14:48

SaravanansaravananSaravanan

5841 Huy hiệu vàng7 Huy hiệu bạc19 Huy hiệu đồng1 gold badge7 silver badges19 bronze badges

Bạn có thể phát hiện nếu trang đã được làm mới với cookie, và sau đó làm một cái gì đó như sau:

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}

Đã trả lời ngày 28 tháng 9 năm 2014 lúc 14:14Sep 28, 2014 at 14:14

ArtipixelartipixelArtipixel

1.22613 Huy hiệu bạc17 Huy hiệu đồng13 silver badges17 bronze badges

Đối tượng vị trí JavaScript

Vị trí cheatsheet.

Bạn có thể sử dụng thuộc tính

location.href = "new url";// or we can use location.assign["new url"];
1 để truy cập URL của trang hiện tại.

Nếu bạn muốn truy cập một trang mới, bạn có thể thay đổi thuộc tính

location.href = "new url";// or we can use location.assign["new url"];
2 của đối tượng
location.href = "new url";// or we can use location.assign["new url"];
3 hoặc gọi phương thức
location.href = "new url";// or we can use location.assign["new url"];
4 bằng URL mới làm đối số.

location.href = "new url";// or we can use location.assign["new url"];

Để chuyển hướng mà không cần lưu trữ trong lịch sử:

location.replace["new url"]; 

Để tải lại trang:

window.location.reload[]

Lực lượng làm mới

Chúng ta có thể vượt qua

location.href = "new url";// or we can use location.assign["new url"];
5 để buộc trang được tải lại đến từ máy chủ [thay vì bộ đệm]. Ngoài ra, chúng tôi có thể sử dụng
location.href = "new url";// or we can use location.assign["new url"];
6 để tải lại trang từ bộ đệm.

//from cache
window.location.reload[];
window.location.reload[false];
// from server
window.location.reload[true];

Thuộc tính của đối tượng vị trí

1. href

Chứa toàn bộ URL của trang.

location.href; // current page url addresss

Khi chúng tôi gán một giá trị mới cho thuộc tính, nó sẽ chuyển hướng giá trị

location.href = "new url";// or we can use location.assign["new url"];
7 được đặt cho thuộc tính.

location.href = "//google.com"; 

Đảm bảo thêm HTTP/HTTPS. Nếu không, nó thực hiện yêu cầu trên cùng một trang.

2. Giao thức

Chứa giao thức [

location.href = "new url";// or we can use location.assign["new url"];
8] của trang.

location.protocol; // 

3. Máy chủ

Tên máy chủ trang web với số cổng.

location.host; // medium.com // with port number var anchor = document.createElement["a"];
anchor.href = "//medium.com:4097
anchor.host // "medium:4097"

4. Tên máy chủ

Tên máy chủ trang web.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
0

5. Cổng

Chứa số cổng. Nếu URL không chứa số cổng rõ ràng, nó sẽ được đặt thành

location.href = "new url";// or we can use location.assign["new url"];
9.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
1

6. Tên đường dẫn

Chứa đường dẫn sau tên máy chủ.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
2

7. Tìm kiếm

Trả về phần tìm kiếm của URL.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
3

8. Hash

Chứa chuỗi

location.replace["new url"]; 
0 theo sau là định danh đoạn của URL. Điều này sẽ hữu ích khi chúng tôi có các liên kết bên trong cùng một trang.

Ví dụ từ MDN Web Docs:

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
4

9. Nguồn gốc

Nguồn gốc của vị trí cụ thể.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
5

Phương pháp

1. Chuyển nhượng

Tải tài nguyên tại URL được cung cấp trong tham số.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
6

Điều này sẽ chuyển hướng đến

location.replace["new url"]; 
1.

2. Tải lại

Phương thức

location.replace["new url"]; 
2 Tải lại URL hiện tại, như nút Làm mới.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
7

Nó có một tham số tùy chọn

location.replace["new url"]; 
3, mặc định là
location.href = "new url";// or we can use location.assign["new url"];
6 khi
location.replace["new url"]; 
3 là
location.href = "new url";// or we can use location.assign["new url"];
5. Sau đó, nó tải trang từ máy chủ, thay vì tải từ bộ đệm trình duyệt., which defaults to
location.href = "new url";// or we can use location.assign["new url"];
6 when
location.replace["new url"]; 
3 is
location.href = "new url";// or we can use location.assign["new url"];
5. Then it loads the page from the server, instead of loading from the browser cache.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
8

3. Thay thế

Thay thế tài nguyên hiện tại với công cụ tại URL được cung cấp.

if[refresh==1]{
  if[window.location.href=='//www.example123.com/search?error=1']{
    window.location.replace = "//www.example123.com/search";
  }
}
9

Sự khác biệt so với phương thức

location.replace["new url"]; 
7 là sau khi sử dụng
location.replace["new url"]; 
8, trang hiện tại sẽ không được lưu trong phiên
location.replace["new url"]; 
9, có nghĩa là người dùng sẽ không thể sử dụng nút quay lại để điều hướng đến nó.

4. ToString

Trả về toàn bộ URL dưới dạng chuỗi.

location.href = "new url";// or we can use location.assign["new url"];
0

Tham khảo: Tài liệu web MDN.

Theo JavaScript Jeep🚙💨

Bài Viết Liên Quan

Chủ Đề