我有一個問題根據用戶在不同的場景中呈現。 A組:當似乎是選擇用戶加載到主頁並點擊一個應該使用AJAX加載的導航錨,並使用history.pushState('','',destinationUrl);他們得不到迴應。錯誤消息顯示在控制檯:未被捕獲的DOMException:未能在'歷史記錄'上執行'pushState':
Uncaught DOMException: Failed to execute ‘pushState’ on ‘History’: A history state object with URL ‘ http://example.net/foo ’ cannot be created in a document with origin ‘ http://www.example.net ’ and URL ‘ http://www.example.net/ ‘
基於搜索我想通這個問題將不包括example.net/foo WWW。我將導航錨點更新爲「http://www.example.net/foo」。
這種固定對於A組的問題,但具有類似的錯誤創造了更大的用戶羣B組相同的問題:
Uncaught DOMException: Failed to execute 'pushState' on 'History': A history state object with URL ' http://www.example.net/foo ' cannot be created in a document with origin ' http://example.net ' and URL ' http://example.net/ '.
對於B組的網址差異被反轉。這個問題似乎是瀏覽器獨立的兩個組。該網站使用Craft CMS。
任何方向或解決方案可能會發生什麼,我該如何解決這兩個組?
更改您的服務器軟件以將用戶引導至單個域。例如使用Apache,您可以使用mod_rewrite將任何以example.com形式輸入的網址重定向到www.example.com,反之亦然,無論您喜歡什麼。或者在javascript中根據當前域構建destinationUrl –