私はこのようなものが欲しいです:私のウェブページが最初にロードされるとき、私fn
はブラウザのローカルストレージに関数を保存します。それ以降、私のドメインへのリクエストが行われるときはいつでも、fn
そのリクエストを行う前に実行されます(ただし、もちろん、リクエストが私のドメインに対して行われることを理解した後)
出来ますか?
私はこのようなものが欲しいです:私のウェブページが最初にロードされるとき、私fn
はブラウザのローカルストレージに関数を保存します。それ以降、私のドメインへのリクエストが行われるときはいつでも、fn
そのリクエストを行う前に実行されます(ただし、もちろん、リクエストが私のドメインに対して行われることを理解した後)
出来ますか?
あなたが探していると思うのは、アプリケーションキャッシュと呼ばれるものです。アプリケーション キャッシュを使用すると、キャッシュ マニフェストを指定して、サイト上の特定のファイルをキャッシュする必要があることをサポートされているブラウザーに伝え、ユーザーがサイトに 2 回目にアクセスしたときにフォーム キャッシュを自動的に読み込むことができます。ブラウザーは、サイトが読み込まれた後に更新をチェックするため、マニフェスト ファイルを更新しても (キャッシュされたファイルの 1 つが変更されたことをブラウザーに通知する唯一の方法です)、ブラウザーは更新されたファイルをバックグラウンドでダウンロードします。次に、ページを自動的にリロードするか、ユーザーが次にキャッシュされたページをロードするまで古いキャッシュを使用できるようにするかを選択できます。
http://www.html5rocks.com/en/tutorials/appcache/beginner/
これは、単一のリクエストがサイトに送信される前に、html/images/js をロードするか、js を実行する唯一の方法です。これは、サイト/アプリを正しく設計すれば、ユーザーが完全にオフラインでも使用できることを意味します。
Javascript の半永久的な手段 (ローカル ストレージ/Cookie) を使用して関数を保存することはできません。関数名を保存して、実行する関数を決定するために使用できます。ドメインのすべてのページに JavaScript ファイルを含めれば、それは可能です。
これは、Cookie を設定するか、ローカル ストレージに値を保存することで、非常に簡単に実行できます。値が存在しない場合は、初めてです。
それらの機能は地雷と同等のものになるので、そうしないことを願っています。銀行の合併が起こることを知っているので、合併後の会社が持つ可能性のあるドメインを大量に購入し、これらの関数の 1 つをブラウザーのキャッシュに保存するトラフィックをそこに移動させるために何かをするとします。その後、合併した銀行がドメイン スクワッティングのために私の後を追ってきました。埋め込んだスクリプトは、ドメインを所有していなくても、銀行へのすべての要求に対して実行されるようになったため、ユーザーが実際に銀行の Web サイトに移動した場合にのみ、フィッシング サイトのポップアンダーを起動できます。