某些网页的location.hostname不准确

时间:2016-08-24 19:43:04

标签: javascript browser adsense google-adwords hostname

我正在写一个书签,上面写着当前页面的location.hostname

在大多数网站上,此工作正常,即https://stackoverflow.com/questions/ask它返回http://stackoverflow.com

但在某些网站上它不起作用。例如,在http://techslides.com/over-2000-d3-js-examples-and-demos上,它会返回googleads.g.doubleclick.net

我已经发现我可以获得原作'使用http://techslides.com

的主机名location.ancestorOrigins[0]

使用此功能,我已写下以下尝试在任何网站上获取准确的主机名:

function getHostname() {
  var previous_hostnames = window.ancestorOrigins;
  if (previous_hostnames) {
    return previous_hostnames[0];
  } else {
    return window.hostname;
  }
}

我想知道:

  1. 为什么会这样?
  2. 我的方法是否合适?
  3. 可以假设我只是在Chrome上运行,如果它让事情变得更容易。

    Chrome版本:

    Version 52.0.2743.116 (64-bit)
    Platform 8350.68.0 (Official Build) stable-channel orco
    Firmware Google_Orco.5216.362.7
    

    回应评论

    location.hostlocation.origin都不起作用

    location.host
    "googleads.g.doubleclick.net"
    location.origin
    "https://googleads.g.doubleclick.net"
    

1 个答案:

答案 0 :(得分:0)

似乎错误是由我的某个Chrome扩展程序引起的(不确定哪个,稍后会尝试确定)。

禁用所有扩展程序会带回正确的location.hostname