【发布时间】:2015-03-09 19:17:48
【问题描述】:
所以我遇到了一个独特的问题。
我有一个网站,我根本无法编辑模板,我只能更改嵌入的脚本。
这个嵌入的脚本被注入到相关网站的页脚中。
嵌入脚本依赖$(document).ready 启动。
问题是,页面上方的脚本会在其 $(document).ready 函数中引发错误,这会阻止我的 $(document).ready 被调用。
我尝试设置try .. catch 块,例如this,但我相信这只有在我的脚本仍然位于页面较高位置时才有效。
我的问题,是否可以让我的$(document).ready 调用运行,即使它在页面上较低,并且之前的调用有错误?
在我的脚本上方的站点中:
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#logo').vAlign();
});
</script>
.vAlign(); 未定义,因此它正在抛出:Uncaught TypeError: undefined is not a function
在我的嵌入式 js 中:
jQuery(document).ready(function() {
console.log('ready!');
});
我从来没有看到“准备好!”在控制台中。
【问题讨论】:
-
使用 finally 调用方法或函数(ready-function)作为 try-catch 的第三个代码块是可能的,因为无论抛出什么错误,finally-codeblock 总是会执行。
-
@Blauharley 您能否使用我上面的编辑详细说明如何在答案中使用它?
-
或者你可以简单地使用
(function() { ... })()代替jQuery(document).ready(function() { ... })
标签: javascript jquery html wordpress