88

いくつかのプロセスの後、外部の JavaScript ファイルでこのステートメントを使用してページを更新しようとしています。

window.location.href = window.location.href

ページを完全にリロードしますが、リロード後に特定の場所にスクロールしたいです。ということで、ページに載せました。

<a name="uploadImgSection"></a>

そして、javascriptを次のように変更します

window.location.href = window.location.href + "#mypara";

このコードは、ページをリロード/更新しません

window.location.hash = "#uploadImgSection";
window.location.href = window.location.href;

これを行うと、ページがまったくリロードされません。スクロールバーの位置でページをリロードする方法はありますか?

4

8 に答える 8

167
window.location.href += "#mypara";
location.reload();

最初にハッシュを追加してから、ページをリロードします。ハッシュはそこに残り、ページがリロードされます。

テスト済み、動作します。


ps:ハッシュが URL に既に存在する場合は、location.hash代わりに.href.

于 2012-05-16T05:40:35.647 に答える
27

これは本当に古い投稿です。私はまだ答えの正しい組み合わせで答えようとします。

  1. location.reload()location.reload(true)ブラウザの F5 のように動作します。これにより、以前にロードが行われた場合、すべてのフォーム データがサーバーに戻されます。
  2. location.hrefURL の変更がブラウザによって認識されるまで、ページは更新されません。ハッシュ (#paramname) の変更は URL の変更の資格がないため、変更するだけで は機能しlocation.href+="#paramname"ません。

そのため、URL の変更とlocation.href+="?anything#paramname"同様に、ページを新しいリクエストとしてリロードする必要?anythingがあります。

于 2013-09-16T18:16:49.237 に答える
1
var loc = location.hash;
location.hash = " ";
location.hash = loc;
于 2015-04-11T03:02:57.900 に答える
-1

これを試して

           var urlString=window.location.href;
           var url=urlString.split("#")[0];
           window.location.href = url + "#mypara";
于 2012-05-16T05:30:01.897 に答える
-1

これは私のために働いた

$('body').on('click', '.className', function () {
    var data = $(this).attr('href');
    alert(data);
    window.location.reload();
});
于 2015-11-18T18:46:07.893 に答える
-1

これは私のために働いた:

var tabValue = document.URL;
window.location = tabValue.substring(0, tabValue.lastIndexOf("#"));
window.location.hash = "#tabs-3"; //Whatever is your hash value
location.reload();
于 2014-02-05T07:37:33.353 に答える