# 导致 adsense 问题的锚标签

# anchor tag causing adsense issues

我目前正在使用 div id 供用户访问我的站点并跳转到 div(即 sitename.com/sitepage/#div_1)。我的问题是,如果使用这些 urls,adsense 会将其识别为自动滚动,因此以双击格式显示广告(即用户必须点击两次才能转到广告商网站,而不是正常点击一次)。

我不想使用 scrollto 脚本。但是,我发现 popstate 接近我想要的,但是因为所有浏览器的预期效果都不一样,所以我想使用一些简单的东西,比如:

setTimeout(function() {
  window.location.href = "#div1";
}, 1000);

以上将完成我想要的最终结果的第 1 步。但是,我有多个 urls eg

sitename.com/sitepage/#1
sitename.com/sitepage/#2
sitename.com/sitepage/#3

有没有办法识别如果 url 包含 # 而不是插入 "div" 到 url 和相应的数字,以便它与上面的代码相关联。我的希望如下所示:

setTimeout(function() {
    if(window.location.href.indexOf("#") > -1) {
      window.location.href = "#divn";
    }, 1000);

但是我不知道在“#”之后添加"div"怎么说

编辑

另一个想法这次应该行得通!

这个问题是关于防止散列操作滚动...
如果散列 中的 id 不存在 怎么办?
滚动不会发生吧?

假设 id #target99 在页面上不存在,请尝试 domain/path/file#target99 之类的东西...但是 id #target 存在。

99 部分可以是任何东西...随你的便。那就是您要删除的部分!

if(window.location.hash != null) {
  var hash = window.location.hash.replace("99","");  // Get the hash value WITHOUT the 99

  if(hash != "#"){  // in case of only "self"
    setTimeout(function() {
      $(hash).focus();
    }, 1000);
  }
}