我几天来一直在寻找这个问题的解决方案,并在此过程中获得了一些白发。我在php中回应一个JQuery弹出脚本:
echo '<link rel="stylesheet"
href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script src="functions.js"></script>
<script type="text/javascript"> $(document).ready(function() { JQueryAlert("INSERT MESSAGE HERE!", 120); }); </script>';
问题在于,有时会引发火灾,有时却不会发生火灾。当它没有触发时,它在Chromes JS控制台中输出以下错误消息:未捕获TypeError:对象[object Object]没有方法&#39; dialog&#39;
从我可以从类似的问题(Uncaught TypeError: Object #<Object> has no method 'dialog')中看出,问题是对javascript库的重复调用,但是,我已经通过将我的javascript库削减到最低限度来减少这种可能性(更少和它无法发挥作用)。知道是什么导致这个?我将永远感谢能够提供解决方案的任何人!
答案 0 :(得分:-1)
这不是一个修复,但由于我看不到你的其余代码,这里有一个潜在的解决方法,你基本上检查对话功能是否存在,如果是,我们创建警报,如果没有,我们等待100毫秒,然后再试一次:
$(document).ready(function() {
function jqalert(msg) {
if (typeof($.fn.dialog) != 'undefined')
JQueryAlert(msg, 120);
else
setTimeout(function() { jqalert(msg); }, 100);
}
jqalert("INSERT MESSAGE HERE!");
});