ナビゲーションの前にURLをインターセプトする
-
07-07-2019 - |
質問
ユーザーがブラウザに入力したURLをインターセプトし、ナビゲーションを続行する前にいくつかのタスクを実行します(プラグイン、プロキシ、または他のクリエイティブな提案など、どのような方法でもよいでしょう)。 明確にするために-これをキャッチする必要がある特定のアプリケーションを参照しているのではなく、ユーザーがブラウザで行うナビゲーションをキャッチする必要があります(つまり、ユーザーが私のアプリケーションを開いていないため、バックグラウンドで実行する必要があります)またはそのようなもの...) 事前に感謝します...
解決
「傍受」できるとは思わないユーザーがjavascript経由で入力するもの。それは大きなセキュリティ上の悪用のような匂いがします。ユーザーがページを離れたときは検出できますが、次にどこに行くのかは検出できません。
-
URL文字列を処理するだけの場合は、プロキシを選択するのが適切です。しかし、より複雑なものはプロキシに実装するのが複雑になります。
-
ただし、プラグインはターゲットとするブラウザに依存するため、すべてのブラウザをターゲットにし、ユーザーナビゲーションを同時に制御する単一のプラグインを作成することはできません。ただし、ユーザーが使用するブラウザを選択できるようになった場合は、おそらく
-
独自のブラウザを(IEのActiveXコントロールを使用して)ローリングするか、またはオープンソースの代替のいずれかを使用して使用する方法はどうですか?
実行したい正確な処理は何ですか?
他のヒント
Javascriptを使用している場合、 onunload
というページがユーザーに存在するときに起動するイベントがあります。
window.onunload = function() {
alert("You're leaving this page.");
};
ウォッチを追加する隠しフレームを作成できますメインフレームの window.location
オブジェクトに。 IEでウォッチを使用できるかどうかはわかりません。使用できない場合は、他のウィンドウを定期的にポーリングして、そのページが表示されているページを確認する必要があります。
ユーザーがブラウザウィンドウにアドレスを入力した場合、(フレームが削除されるため)それをキャプチャすることはできませんが、クリックしたすべてのリンクを(外部サイトにでも)取得できます。
フィドラーをご覧ください:
...ほぼすべてのアプリケーションからのHTTPおよびHTTPSトラフィックのキャプチャ、再生、および変更を可能にするWebデバッグツール。
私が理解していることから、これは軽量のプロキシとして機能し、.NETスクリプトで定義されているあらゆる種類のクールな機能を実行できます。
関心がある場合は、モバイルデバイスを実行できるように設定することもできます。