0

每次加载我的页面时,如果 TempData 中有新消息,我希望执行一些 javascript。

window.onload = function () {  
      $.jGrowl('Hello world!');
};

这很好用。但是我是否必须将调用放在 windows.onload 或其他事件处理程序中,因为如果我这样做

<script type="text/javascript>
$.jGrowl('Hello world!');
</script>

它不起作用它想出了一个

SCRIPT438: Object doesn't support this property or method

我一直在尝试将 javascript 放在页面底部以确保首先加载其他所有内容

希望对雅各布有所帮助

4

2 回答 2

1

https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onload

问题是代码在 DOM 加载之前触发。

这是一篇相关文章.. window.onload vs document.onload

于 2014-06-23T17:33:14.123 回答
0

根据他们的例子,应该可以完美地工作......我试图解开调用,我能做的最好的就是删除外部自我执行功能......

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jquery-jgrowl/1.2.12/jquery.jgrowl.min.css" />
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-jgrowl/1.2.12/jquery.jgrowl.min.js"></script>
<script type="text/javascript">
$(function(){
    $.jGrowl("Hello world!");
});
</script>

我的猜测是该库使用 dom ready,因此在执行 dom ready 之前它对 jquery 不可用。

这是一个 JSBIN

于 2014-06-23T17:54:29.317 回答