history apiでブラウザ履歴を「すり替え」
2612 ワード
HTML 5は、pushstateやpopstateなどの新しいhistoryインタフェースを提供します.通常、ブラウザの履歴はアクセス履歴を保存できますが、history api、pushstate、replacesstateがあるため、ブラウザの履歴を「盗む」こともできます.後退ボタンを盗んで、閲覧者に「後退ボタン」を押してもらうと、指定したページに行って、本当に後退履歴のように見えます.このページはドメインにまたがることもでき,前方d履歴が存在しなくても作成できる.何のメリットがありますか?訪問者をもっとあなたのサイトに残したいですか?したい
history api「盗む」ブラウザ後退ボタン
実装コードは次のとおりです.
最初のステップでは、履歴を作成します.
このステップはhashの履歴を作成し、popstateの傍受を容易にする.
ステップ2、監視してジャンプ
戻るボタンを押すと、#!/がチェックされます.stealingyourhistoryのhashの場合、settimeout関数を使用して指定したページにジャンプします.たとえば、後退ボタンを押すと、前の履歴ではなくブログのホームページに戻るように設計されています.
すべての実装コードは次のとおりです.
エクスプローラの後退履歴Demo
実際にDemoを見たいなら、これによって.
これにより、ブラウザの後退履歴を「盗む」ことができ、後退ボタンを押すと、後退するのではなく、指定したページに戻ることができます.
しかし、この方法でPVを増やしたり、何か悪いことをしたりしたいなら、確かに友好的ではありませんよ.
原文:http://blog.netsh.org/posts/history-stealing_1593.netsh.html
justcode.ikeepstudying.com
history api「盗む」ブラウザ後退ボタン
実装コードは次のとおりです.
最初のステップでは、履歴を作成します.
このステップはhashの履歴を作成し、popstateの傍受を容易にする.
ステップ2、監視してジャンプ
戻るボタンを押すと、#!/がチェックされます.stealingyourhistoryのhashの場合、settimeout関数を使用して指定したページにジャンプします.たとえば、後退ボタンを押すと、前の履歴ではなくブログのホームページに戻るように設計されています.
すべての実装コードは次のとおりです.
(function(window, location) {
history.replaceState(null, document.title, location.pathname+"#!/stealingyourhistory");
history.pushState(null, document.title, location.pathname);
window.addEventListener("popstate", function() {
if(location.hash === "#!/stealingyourhistory") {
history.replaceState(null, document.title, location.pathname);
setTimeout(function(){
location.replace("http://blog.netsh.org/");
},0); } }, false); }(window, location));
エクスプローラの後退履歴Demo
実際にDemoを見たいなら、これによって.
これにより、ブラウザの後退履歴を「盗む」ことができ、後退ボタンを押すと、後退するのではなく、指定したページに戻ることができます.
しかし、この方法でPVを増やしたり、何か悪いことをしたりしたいなら、確かに友好的ではありませんよ.
原文:http://blog.netsh.org/posts/history-stealing_1593.netsh.html
justcode.ikeepstudying.com