簡體   English   中英

iOS Chrome上的HTML5歷史記錄API

[英]HTML5 history API on iOS Chrome

出於測試目的,我想用大量條目填充歷史記錄。 更確切地說,我想添加X項以禁用瀏覽器的后退按鈕,因為即使用戶點擊X次,他也會保持在同一頁面上。

我這樣做的方式如下:

(function (){
   for (var x = 0; x < 10; x++) {
     history.pushState(null, document.title, location.pathname);    
   }        
}());

因此,當頁面被加載時,當前頁面的10個元素被注入到歷史中。 此方法適用於除iOS上的Chrome以外的所有支持歷史API的瀏覽器

使用上面的代碼,iOS上的Chrome(7到10)做了一些非常奇怪的事情:

  • 它會將標簽中的標題替換為當前頁面的網址(因此,不會在標簽標題中顯示“我的精彩網頁”,而是顯示“mygreatpage.com/samplepage1”
  • 長按后退按鈕檢查條目,Chrome顯示沒有其他添加的條目 - 每個其他瀏覽器顯示上述代碼所預期的10個附加條目

Safari和其他所有iOS瀏覽器都可以滿足我的需求。 我究竟做錯了什么?

對於iOS上的chrome本機history.pushState被其他擴展名覆蓋,如果你發出alert(history.pushState)你可以看到它不是我們在其他瀏覽器上看到的本機代碼

看下面的polyfills可以幫到你,

  1. HTML5的歷史-API

  2. history.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM