4

基本上,我的页面 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 -->
4

2 回答 2

4

您可以通过在 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>
于 2012-12-06T12:25:13.137 回答
0

添加一个变量,例如var first_time = true;,然后在你的函数中做任何事情之前首先检查它是否是第一次:在第一次if (first_time == false) return false;运行函数后将.first_timefalse

更正

上述解决方案将无法按问题中的预期工作。刷新页面时会出现问题。我不会删除这个答案,因为它可以帮助其他人看到工作解决方案和这个解决方案之间的区别。

于 2012-12-06T12:26:31.027 回答