Javascript 单击链接后的body onload事件
基本上,我的页面test.php页面上有链接Javascript 单击链接后的body onload事件,javascript,Javascript,基本上,我的页面test.php页面上有链接 <a href="demo.php">click</a> <!-- test.php page --> 我想每次在demo.php页面上调用body onload事件的函数,但只有在单击上面的链接时,页面刷新时才会调用该函数 <body onLoad="JavaScript:event(1,product,100);"> <!-- demo.php page --> 您可以通
<a href="demo.php">click</a> <!-- test.php page -->
我想每次在demo.php页面上调用body onload事件的函数,但只有在单击上面的链接时,页面刷新时才会调用该函数
<body onLoad="JavaScript:event(1,product,100);"> <!-- demo.php page -->
您可以通过在URL、链接HTML中使用哈希标记来实现这一点:
<a href="demo.php#noCall">click</a>
demo.php javascript:
<script type="text/javascript">
window.onload = function() {
if (document.location.href.indexOf("#noCall") == -1) { //Does the hashtag NOT exist in the URL?
alert("Event called when link is not clicked"); //Event called
window.location.hash = ''; //Remove noCall from the hash for page-reload
}
};
</script>
window.onload=函数(){
如果(document.location.href.indexOf(“#noCall”)=-1{//,则该标签是否不存在于URL中?
警报(“未单击链接时调用的事件”);//调用的事件
window.location.hash='';//从哈希中删除noCall以重新加载页面
}
};
添加一个变量,如var first\u time=true
,然后在执行任何操作之前在函数中首先检查它是否是第一次:if(first_time==false)return false代码>首次运行该功能后,将first\u time
设置为false
校正
上述解决方案将不会像问题中预期的那样起作用。刷新页面时会出现问题。我不会删除此答案,因为它可以帮助其他人看到工作解决方案与此解决方案之间的差异。pagre refresh是什么意思?我的意思是,每次用户通过单击链接从test.php页面返回时,都应该调用它。然后,不应该在demo.php页面重新加载时调用它。您只需通过质询。只需检查querystring是否已设置,并在body标签上添加onLoad
属性!thanx dillen,但这是在页面重新加载时也调用的函数。当用户点击链接时,我需要调用onload函数。当用户返回test.php页面并再次点击时,无论用户点击链接多少次,它都会被调用?我想这是您现在想要的方式。@Dillen我使用您的代码:window.onload=function(){if(document.location.href.indexOf(#noCall”)=-1){//URL中不存在哈希标记吗?警报(“未单击链接时调用的事件”);//事件名为document.location.href=document.location.href.split(“#noCall”)['0']+“#”;//从哈希中删除noCall以便重新加载页面}否则{alert('test');};但是当我来的时候,单击也会在每次测试都是警报时重新加载页面。Thanx Dillen它是resolve.ur script.window.onload=function()中的一点修改{if(window.location.href.indexOf(“#noCall”)==-1){//URL中不存在哈希标记吗?警报(“未单击链接时调用的事件”);//调用的事件}else{window.location.hash='';};@DillenMeijboom噢,是的,谢谢你的更正,我不太理解这个问题,谢谢你的评论。