2017-07-16 12 views
0

ブラウザのセッションごとに、特定のWebサイトで一度だけ実行したい簡単なJavaScriptコードがあります。明確にするためにブラウザセッションごとに1回Javascriptを実行する(ウィンドウ)

  1. 私は、たとえば、Firefoxのブラウザセッション(ウィンドウ)を開きます。
  2. 私はGreasemonkeyにマッチした特定のウェブページ(google.comなど)に行きます。
  3. スクリプトが実行されます。
  4. 私はwepbage(CTRL + F5)を完全にリフレッシュし、スクリプトはセッションごとに1回しか実行されないため、スクリプトはもう実行されません。

どうすればいいですか?つまり、単純なスクリプトはどのようにして1つの関数だけで構成できますか?は、Greasemonkeyでマッチした特定のWebサイトのブラウザセッションで一度だけ実行するように制限されていますか?

+0

isCalled = true

を設定するには、 'DOMContentLoaded'イベントハンドラは、現在、複数回派遣していますか? 'document.querySelector(" .head-nav-item-sign-in ")を呼び出す目的は何ですか?click()'と 'document.querySelector(" [type = submit] ")。DOMContentLoaded 'イベントハンドラ? – guest271314

+0

ログインページに移動し、既に保存されている詳細については送信をクリックします。 –

答えて

0

これを行うにはLocalStorageを使用できます。私はコメント全体で論理を説明しました。

if (typeof(Storage) !== "undefined") { 
    // First timer 
    if (!localStorage.getItem("oldUser")) { 
    localStorage.setItem("oldUser", true); 
    executeYourCode(); 
    } 
} else { 
    // Sorry! No Web Storage support.. 
    // Use the above cookie method. 
} 
+0

あなたの答えを扱うコードで質問を更新しました。 –

0

使用window.localStorageここでパラメータにドキュメントhttps://developer.mozilla.org/en/docs/Web/API/Window/localStorage

+0

男、真剣に?良くない。 ':(' –

+0

なぜ私たちは同時に答えを書いたか、またはあなたが直接答えを出すので、私はしないのですか? –

関連する問題