window.location物件可以使用JavaScript操作將URL重定向到新的位置,一般情況下使用伺服器配置和http標頭屬性
網頁中許多URL被重新導向到新位置,通常使用伺服器配置和HTTP標頭屬性。但是在許多情況下,可能需要使用JavaScript來重定向或導航到另一個URL
重定向的原因:
一般情況下希望重定向到新頁面或URL的原因有很多,例如:
更改了網域或URL結構
使用者已提交表單,但希望將它們指向序列中的下一頁
該頁面可能需要授權
從HTTP重定向到HTTPS
需要在單一頁面應用程式中觸發新頁面等等
window.location是物件管理瀏覽器加載的地址。操作位置物件是使用JavaScript管理頁面重新導向的方式。 location物件具有觸發JavaScript頁面重定向的屬性和方法
位置物件屬性:
hash:用於單一頁面應用程式和單一頁面網站
host:URL的網域
hostname:類似host
href:完整的URL
origin:URL的協定與網域
##pathname:原始後的URL slug或頁面port:如果URL中包含連接埠#協定:http,https,ftp,ftps等這些屬性中的每一個都是字串,並且支援所有標準字串方法位置物件方法有:
assign:將位置物件設定為新URLreload:強制頁面使用相同的URL重新載入#替換:觸發重定向search:允許查詢queryString#重定向到新位址
更改位址後,應執行301重定向。這是伺服器使用新位址發送HTTP狀態代碼301的位置301狀態代碼告訴用戶代理:瀏覽器或搜尋引擎蜘蛛,有一個新位址301重定向允許您保持流量,並希望您的搜尋引擎排名。 通常你會從伺服器上執行此操作。但有時這是不可能的,您需要使用JavaScript重定向到URL實作程式碼:window.location.assign("new target URL"); window.location.replace("new target URL");最好的方法就是使用location.replace方法,它對於任何301重定向方案都很有用,包括何時需要從HTTP重定向到HTTPS。但使用JavaScript從HTTP重定向到HTTPS的更簡潔方法是以下程式碼片段:
if (location.protocol !== "https:"){ location.replace(window.location.href.replace("http:", "https:"));}window.location物件可以使用JavaScript操作以重定向到不同URL的屬性和方法。其中location.replace和location.assign非常有用,replace方法使會話歷史記錄保持乾淨,assign方法允許使用者透過URL歷史記錄進行回溯
以上是如何使用JavaScript對URL進行重新導向的詳細內容。更多資訊請關注PHP中文網其他相關文章!