【问题标题】:# anchor tag causing adsense issues# 导致 Adsense 问题的锚标签
【发布时间】:2018-06-30 12:32:35
【问题描述】:

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

我不想使用scrollto 脚本。但是,我发现 popstate 与我想要的很接近,但是因为在所有浏览器中所需的效果并不相同,所以我想使用一些简单的东西,例如:

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

以上将完成我想要的最终结果的第 1 步。但是,我有多个网址,例如

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

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

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

但我不知道如何在“#”之后添加“div”

【问题讨论】:

  • 这还不清楚......你能改写你的问题,将这两个问题分开吗?使用 URL 散列存在滚动问题...以及单击/双击某些内容。这两个问题是如何联系起来的?
  • 实际问题是,当我使用#url 时,adsense 无法正确加载为单击框架(它加载为用户必须双击才能访问广告商网站的框架)。我尝试了各种选项,但都不起作用。有没有解决方案,当使用 # 时,adsense 脚本无法识别页面上的“跳转”
  • 如果哈希(URL 中的# 符号)是 Adsense iframe... 您可以尝试在加载时强制 focus也许这会节省第一次用户点击...我不知道,但试试$(document).ready(function(){ $(location.hash).focus(); });
  • 不幸的是,No 不起作用。 Focus() 会导致它立即跳转,这与使用 sitename.com/#sitepage 相同。当我接近目标时,我已经编辑了我的问题
  • 使用哈希会在加载时跳到那里......这不是你想要的吗?

标签: javascript jquery anchor adsense scrollto


【解决方案1】:

编辑

这次应该可行的另一个想法!

问题即将阻止哈希操作滚动...
如果散列中的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);
  }
}

【讨论】:

  • 谢谢,但它在网址末尾带有一个奇怪的参数 /#[object HTMLDivElement]
  • 如果我删除'null'而不是正常加载,即直接跳转到div
  • 再次感谢。它不起作用。我正在尝试在 # 之后拼接和插入 div,如果你能指出我目前正在努力将它串在一起的工作代码将不胜感激。即[链接]stackoverflow.com/questions/8737615/…
  • 我不明白你实际上在尝试什么......我认为哈希已经在 URL 中。所以location.hash 应该给它。试试console.log(location.hash); # 就在那里。事情是要阻止“正常”哈希动作滚动到 div。我就是这样理解你的问题的。 -- 但是也许这是不可能的。
  • 感谢您的支持。这个想法很有效,感谢您的帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-15
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 2011-09-16
  • 2021-12-09
  • 1970-01-01
相关资源
最近更新 更多