4

Internet Explorer 7、8、9 ブラウザの場合、C# の Request.UrlReferrer が null を返す。その理由は何ですか?それの解決策は何ですか?

ページにはいくつかの「ここをクリック」ボタンがあります。ボタンをクリックすると、新しい URL ページが新しいタブで開かれます。ページを開いた時点で、Request.UrlReferrer を使用してページの URL をデータベースに保存しています。

Firefox、Chrome などの他のブラウザでは、正常に動作しています。しかし、Internet Explorer では動作しませんでした。

私を助けてください。

4

3 に答える 3

1

document.location.hrefまたはwindow.openIE8 以下で新しいウィンドウを開く場合、IE9+、Firefox、または Chrome ではそうではありませんRequest.UrlReferrernull

解決策は、あなたが好きだった場所です

document.location.href = "/Roles/Index";

以下の関数をコピーして js ファイルに貼り付け、その関数を呼び出すだけです。

RedirectURL("/Roles/Index");

function RedirectURL(url) {
  var a = document.createElement("a");
  if (a.click) {
    // HTML5 browsers and IE support click() on , early FF does not.
    a.setAttribute("href", url);
    a.style.display = "none";
    document.body.appendChild(a);
    a.click();
  } else {
    // Early FF can, however, use this usual method
    // where IE cannot with secure links.
    window.location.href = url;
  }
}

上記の解決策で問題が解決することを願っています。

于 2015-04-24T09:55:49.653 に答える
0

window.open(targetUrl, "_blank") 関数を使用して新しいブラウザー タブでページを開くと、UrlReferrer は IE では null になります。実際、この問題は IE 11 でも再現可能ですが、古いバージョンの IE だけではありません。次の JavaScript コードにより、問題を解決できました。

var link = document.createElement("a");
link.href = targetUrl;
link.target = "_about";
document.body.appendChild(link);
link.click();

質問が古いことは知っています。しかし、多分私の答えは誰かを助けるでしょう。

于 2018-02-05T09:40:13.287 に答える