我正在调试一个问题,并在 Firefox 和 Safari 处理 onclick JavaScript 时发现了奇怪的行为。
这是我的代码:
<form id="createMessageForm" action="onclick.php?refresh=<?php echo ++$_REQUEST['refresh'];?>" method="post" >
<input type="hidden" id="iteration" value="1"/>
</form>
<a href="page2.html" target="_blank" onclick="document.getElementById('createMessageForm').submit();return true;">Hello</a>
在 Firefox 中加载它,它总是为我打开“page2”。但是在 Safari 中加载它,它只为我打开“page2”大约 10 次,或者更少。这就像取决于浏览器是否可以完成'return true;' 表单提交与否之前的声明。
我认为 JavaScript 总是单线程的,那么在这样的代码中预期的行为是什么?