当我在页面底部移动 jQuery 脚本时(为了页面更快加载),我有一个远程功能,该功能不支持并停止工作。我该如何修复它?预先感谢您。
<script type="text/javascript">
<?php echo $ajax->remoteFunction(array('url' => array('controller' => 'posts', 'action' => 'go', $user_obj['User']['id']), 'update' => 'engagePost')); ?>
</script>
<div id="engagePost"></div>
最佳答案
浏览器从上到下读取页面。在您的情况下,您要调用的函数写在页面顶部,并且由于您没有将其包装到某些 onload
或 document.ready
事件中,因此它会被执行立即。
但是,直到浏览器写入相应的脚本标签后,才会加载所需的 JQuery 脚本。
<script>
remoteFunction()
</script>
<div>
<!--Page Content-->
</div>
<script src="jquery.js"></script>
导致问题的原因,请在函数调用之前插入 JQuery 脚本
<div class="snippet" data-lang="js" data-hide="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code><script src="jquery.js"></script>
<script>
remoteFunction()
</script>
<div>
<!--Page Content-->
</div></code></pre>
</div>
</div>
为了确保 JQuery 已加载,您可以添加
$(document).ready(function () { //call function here })
将事件添加到您的 html 中。
关于Javascript 远程函数在页面底部时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33095726/