1

ブラウザー拡張機能 (BHO) 内から、ユーザーを現在のページに誘導した URL を知りたいです。document.referrer を取得するだけでよいと思ったのですが、リンクが新しいウィンドウで開かれると空白になります。これは単なるタフなビッキーですか、それとも場合によっては opener.location.href を使用できますか?

フォローアップとして、私は現在、ページが読み込まれたとき、つまり DocumentComplete でこれを取得していますが、BeforeNavigate2 で取得したいと考えています。BeforeNavigate2 で現在の場所をリファラーとして使用する以外にそれを行う方法はありませんが、ユーザーがアドレスバーに新しい URL を入力すると、現在のページがリファラーとして表示されます。つまり、サイト A のリンクからサイト B に移動したように見え、実際にはサイト A に移動してからサイト B の URL を入力したように見えます。

更新:私が知る限り、「オープナー」プロパティが設定されることがあるため(ウィンドウがjavascriptから開かれた場合は?)、そこから有効なリファラーページを取得できます。これがどのような状況で利用可能かを具体的に知っている人はいますか?

4

2 に答える 2

0

この情報を取得する唯一の方法はHTTP リファラーからです。そのため、残念ながら、そのヘッダー値が空白の状況ではうまくいかない可能性があります。

于 2010-01-19T01:45:59.543 に答える
0

新しいウィンドウへのリンクを含むページを所有していて、セッションまたはリンクを識別するハッシュまたは ID または何かを追加しない限り、リファラーをキャプチャすることはできません。

于 2010-01-19T01:53:31.850 に答える