【问题标题】:What's the most reliable way of getting a page's referrer in IE?在 IE 中获取页面引荐来源的最可靠方法是什么?
【发布时间】:2010-01-19 01:43:07
【问题描述】:

在浏览器扩展 (BHO) 中,我想知道将用户引至当前页面的 URL。我以为我可以获取 document.referrer,但如果在新窗口中打开链接,我发现它是空白的。这只是强硬的 bikkies 还是我可以在某些情况下使用 opener.location.href 或其他什么?

作为后续,我目前在页面加载时得到这个,即在 DocumentComplete 上,但我更喜欢在 BeforeNavigate2 上得到它。除了在 BeforeNavigate2 上使用当前位置作为引荐来源网址之外,我看不到任何其他方法,但是如果用户在地址栏中输入新 URL,这将为我提供当前页面作为引荐来源网址。即,看起来他们从站点 A 上的链接导航到站点 B,实际上他们去了站点 A,然后输入了站点 B 的 URL。

更新: 据我所知,有时会设置“opener”属性(如果窗口已从 javascript 打开?),因此我们可以从中获取有效的引用页面。有谁知道具体在哪些情况下可以使用?

【问题讨论】:

    标签: javascript internet-explorer bho referrer


    【解决方案1】:

    获取此信息的唯一方法是从HTTP referrer,因此很遗憾,对于任何该标头值为空白的情况,您都可能不走运。

    【讨论】:

    • 那么在新标签/窗口中打开的页面总是空白吗?
    【解决方案2】:

    除非您拥有包含指向新窗口的链接的页面,并为会话或链接添加哈希或 ID 或其他标识,否则您将无法捕获引荐来源网址。

    【讨论】:

    • 所以在新窗口/标签中打开的链接得到一个空白的引荐来源是正常的吗?
    • 这是获得空白引用的一种方法,但不是唯一的方法。
    猜你喜欢
    • 2012-02-12
    • 2016-01-30
    • 1970-01-01
    • 2021-06-20
    • 2016-07-31
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多