2017-02-10 14 views
19

テスト目的のために、多数のエントリを履歴に追加したいと考えています。より正確には、ユーザーがX回クリックしても同じページにとどまるので、ブラウザのバックボタンを無効にする種類のX項目を追加したいと思います。iOS ChromeのHTML5履歴API

私はこの次の方法をやっている:ページが現在のページの10個の要素をロードされているので、

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

は、歴史の中に注入されます。このアプローチは、ヒストリーAPI をサポートするすべてのブラウザ(iOSのChromeを除く)で機能します。上記のコードを使用して

、iOSのクロム(10から7)はいくつかの本当に奇妙な行います

  • をそれは(だからではなく、「私を示すの現在のページのURLをタブで​​タイトルを置き換えますタブのタイトルに「great webpage」と表示されている場合は、「mygreatpage.com/samplepage1」
  • を長く押してエントリを確認すると、Chromeには追加のエントリが表示されず、他のすべてのブラウザに上記のコード

SafariとすべてのoそれらのiOSブラウザは私が望むものを行う。 私は何が間違っていますか?あなたは、それは我々が他のブラウザで見るように

がpolyfills下記参照ネイティブコードではありません見ることができalert(history.pushState)あなたはあなたを助ける可能性がある場合のiOSネイティブhistory.pushState上のChromeの

+0

これは役立つ可能性があります:https://bugs.chromium.org/p/chromium/issues/detail?id=394296 –

+1

あなたがテストしているChromeバージョンをご存知の方は – lunohodov

+0

常に最新の安定版 –

答えて

1

は、追加の拡張により

    をoveriddedされます
  1. HTML5-History-API

  2. history.js

+0

とは何ですか?あなたは「追加拡張」を意味しますか? –

+0

Chromeのiosはhistory.pushState関数をオーバーライドしますが、「追加の拡張子」のコードではない可能性があります。そのため、上記のchrome iosのバグがあります。 – ShilpeshAgre

関連する問題