C#中的Request.UrlReferrer在Internet Explorer 7、8、9浏览器中返回null。这是为什么?有什么解决办法吗?
页面上有一些"点击此处"按钮。当点击按钮时,将在新标签页中打开一个新的url页面。在打开页面时,我使用Request.UrlReferrer将页面的url存储在数据库中。
对于Firefox、Chrome等其他浏览器,它运行良好。但它从未在Internet Explorer上工作过。
请帮我解决这个问题。
C#中的Request.UrlReferrer在Internet Explorer 7、8、9浏览器中返回null。这是为什么?有什么解决办法吗?
页面上有一些"点击此处"按钮。当点击按钮时,将在新标签页中打开一个新的url页面。在打开页面时,我使用Request.UrlReferrer将页面的url存储在数据库中。
对于Firefox、Chrome等其他浏览器,它运行良好。但它从未在Internet Explorer上工作过。
请帮我解决这个问题。
在各种情况下,引荐者可能为空。例如,某些隐私设置(由政策强制执行)或插件可能会阻止发送引荐者信息。无论如何,这都是用户输入的内容,是您无法信任的东西。
如果您解释了您要做什么以及用于此目的的代码,则可以给出实际答案。
document.location.href
或window.open
打开新窗口时,Request.UrlReferrer
为null
,而在IE9+、Firefox或Chrome中不是这种情况。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;
}
}
希望上述解决方案能够解决问题。
var link = document.createElement("a");
link.href = targetUrl;
link.target = "_about";
document.body.appendChild(link);
link.click();
我知道这个问题很老了。但也许我的回答能帮到某些人。
&from=pageX
。它与引荐者一样不可靠(因为用户可以更改它),但至少您可以控制它在浏览器配置不考虑的情况下发送。 - CodeCaster