我目前正在使用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包含#than insert“div”到url和相应的数字,那么它与上面的代码绑定。我的希望如下:
setTimeout(function() {
if(window.location.href.indexOf("#") > -1) {
window.location.href = "#divn";
}, 1000);
但我不知道如何在“#”之后添加“div”
答案 0 :(得分:1)
修改强>
这次应该有用的另一个想法!
问题是要阻止哈希操作滚动...
如果哈希中的id
不存在怎么办?
滚动不会发生,对吗?
尝试使用domain/path/file#target99
之类的内容,假设网页上不存在id
#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);
}
}