2

重複の可能性:
js で URL アンカー変更イベントを処理する
方法

私のアプリでは、この非常に単純なコードを使用してハッシュタグを追加しています。

         <a href='#test'> <input type='submit'></input>

戻るボタンを押したときにページを更新したい。現時点では、www.mysite.com/#test から www.mysite.com にのみ移動します。

このトピックに関するさまざまな質問を見ましたが、それを達成する方法が見つかりませんでした。

ご協力ありがとうございました。

4

2 に答える 2

3

簡単な方法は、ハッシュ変更イベントが発生するのを待ってからそれに反応することです。# が変更されるたびに関数が呼び出され、ハッシュが空の場合、ページがリロードされます。

window.addEventListener('hashchange', function() {
  console.log(window.location.hash);

  if('' === window.location.hash) {
    console.log('reload');
    //window.location.reload();
  }
});

http://jsfiddle.net/kcKLE/1/

addEventListener はどのブラウザでも機能しないため、イベント バインディングには jQuery などのライブラリを使用することをお勧めします。(IE こんにちは) https://developer.mozilla.org/en/docs/DOM/element.addEventListener

より洗練されたものが必要な場合は、履歴 API もあります。 https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history

于 2013-01-05T20:45:31.767 に答える
0

それを達成する方法を見つけました。onhashchange 機能を使用しています。これが私のコードです:

    document.body.setAttribute("onhashchange", "update()");
         function update() {
            if('' === window.location.hash) {
                 window.location.reload();
          }

      };

そのため、戻るボタンを押すと、ハッシュが消えてページがリロードされます。

みなさんヒントありがとうございます。

于 2013-01-05T21:06:12.810 に答える