【发布时间】: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