我在一个页面设置了一个js函数,页面一加载就执行点击某个链接跳转到另一个页面,但我发现我点击返回前一个页面时,就会不停的执行那个页面一加载就点击某个链接的js函数。这样就进入了一个奇怪的循环,点击返回到前一个页面,就自动执行页面js函数,点击了页面的一个链接,又跳回了原来的页面。请教各位大哥有什么方法能解决吗?
针对你的问题,原因在于每次返回相当于又加载了一次原来的页面,所以会一直死循环。
解决的方法是加参数。
首先我先给你两个html的实例代码:
1.html
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>跳转</title>
<style type="text/css">
</style>
</head>
<body>
<a href="2.html" id="mykcxx0">跳转</a>
<script type="text/javascript">
function query(query){
var subUrl = location.search.slice(location.search.indexOf('?') + 1),
subArr = subUrl.split('&') || [],
querystr = '';
return subArr.forEach(function(v){
v.indexOf(query + '=') === 0 && (querystr = v.slice(query.length + 1))
}), querystr;
}
window.onload = function(){
var button = document.getElementById('mykcxx0');
var rel = query('rel');
if(rel == 1){
button.click();
}
}
</script>
</body>
</body>
</html>
2.html
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>返回</title>
<style type="text/css">
</style>
</head>
<body>
<a href="1.html">返回</a>
</body>
</body>
</html>
这个时候你先打开1.html,可以发现它没有跳转,这时在地址栏中后面加上"?rel=1"
按下enter键后,就跳转到了2.html,当你点击2.html中的返回时,就又跳到了1.html。
我这里示意的是手动加rel参数,实际应用中是通过参数传递的,希望可以帮助到你。
你可以在url中添加一个参数,http://xxxx?isload=_,
每次你要跳转到这个页面时 就为isload赋不同的值,
然后在这个页面中获取 路径中 isload的值 当isload=0 时 执行加载,当isload=1 时不执行加载
仅供参考
执行完方法return 一下。是否能行呢
用这个
$(document).ready(function(){
$("#id").trigger("click");
});
或者
$(document).ready(function(){
window.location.href=url;
});