テーブル内の最初のリンクを実際にクリックする2つのjavascriptコマンドがありますが、スクリプトはうまく動作しますが、これを1回実行して停止する。どうすればこれを達成できますか?javascriptコマンドを1回だけ実行する
<script>
$link = $('td a:first');
$link[0].click();
</script>
テーブル内の最初のリンクを実際にクリックする2つのjavascriptコマンドがありますが、スクリプトはうまく動作しますが、これを1回実行して停止する。どうすればこれを達成できますか?javascriptコマンドを1回だけ実行する
<script>
$link = $('td a:first');
$link[0].click();
</script>
あなたはこのような何かを実行する必要があります:スクリプトです
function autoHandler(){
var item = localStorage.getItem("turn");
if(!item){
localStorage.setItem("turn","1");
$link = $('td a:first');
$link[0].click();
}
}
autoHandler();
なぜか分かりませんが、コードが私の場合には動作しません。ページが読み込まれた後、テーブルの最初のhrefをオートクリックしません。 –
ダビング後にお試しいただけますか?それは動作するはずです。 また、このコードを再実行します。 localStorage.clear()を使用してローカルストレージをリセットします。 – Nitesh
これは役立つかもしれない - 私はおそらくから生じるループ動作が言及したと思われるものの質問内のスニペットは複数回呼び出されるため、ページ上の他のスクリプトアクティビティ(???)の結果である可能性があります。
<script>
window.flag = window.flag || true;
if (window.flag) {
$('td a:first')[0].click();
window.flag = !window.flag;
}
</script>
私が言ったように、役に立たないかもしれない。 :) COMMENT
に照らして
EDITは、私は、ユーザーがブラウザのキャッシュをクリアしない限り、/まで持続しますwindow.sessionStorage
ではなくlocalStorage
としてwindow.localStorage
を使用してお勧めします。その後のすべての訪問で永久にイベントを禁止するか、セッションごとに1回のみ動作を禁止するかどうかによって異なります。後者の場合、localStorage
をsessionStorage
と置き換えてください。
local-
とsessionStorage
はCookieのような機能なので、情報が保存されていることを訪問者に知らせることをお勧めします(Cookieとプライバシーポリシー)。
コメントから、実際には同じページへのリンクです - ページをリロードします。 –
ああ、OK。そして、@ Niteshの 'localStorage'ソリューションが優れています。 –
ローカル/セッションストレージが必要な理由がわかりません。
<script>
var $link = $('td a:first');
if(window.location.href.indexOf($link.attr('href')) === -1) {
$link[0].click();
}
</script>
私はこのコードで私の問題を解決しました!どうもありがとう –
上記のコードは、問題のリンクが同じドキュメントでない限り、ループしません。そうであれば、セカンダリ・ロードを実行していることを示すためにセッション・ストレージまたはローカル・ストレージなどが必要です。 –
ループはどこですか? –
問題のリンクは同じ文書にあるので、私はそれを無限ループから止める方法を知らないのです。 –