2017-09-28 6 views
0

リンクを新しいタブで開くと、リフェラーページに戻るボタンが表示されます。戻るボタンをクリックしたときにポップステートが機能しないのはなぜですか? (モバイルiosクロム)

const referrer = document.referrer; 
const redirect = (e) => { 
    if(e.state.goBack){ 
     window.location.href = window.location.href; 
    } 
} 

const _location = window.location.href 
history.replaceState({goBack: true}, null, referrer); 
history.pushState({}, null, _location); 

window.addEventListener('popstate', redirect); 

は、MacBook、android chrome/firefoxでうまく動作します。 iPhone/iPadでのみ動作しません。それはただ自分自身に戻る。リダイレクト機能でアラートを追加しても、iPadのChromeの戻るボタンをクリックしても表示されません。 :(

は、機能をリダイレクト発生しませんiPadのバックボタンクリックように感じ

+0

https://jsfiddle.net/59xwafa3/3/ – kpe3000

+0

iPad上、私は表示されません戻るボタンアラートをクリックすると:( – kpe3000

答えて

0

私は同じ問題に遭遇してきた私が見つけたの周りの仕事ではなく、replaceStateが、pushStateを使用するのではありません:。。https://jsfiddle.net/6dayLhzs/1

const referrer = document.referrer; 
const redirect = (e) => { 
    if(e.state.goBack){ 
     window.location.href = window.location.href; 
    } 
} 

const _location = window.location.href 
history.pushState({goBack: true}, null, referrer); 
history.pushState({}, null, _location); 

window.addEventListener('popstate', redirect); 
関連する問題