我遇到了看似鸡和蛋的问题,并且有我认为合乎逻辑的解决方案。但是,我突然想到其他人一定遇到过类似的事情,所以我想我会把它浮出水面给大众。
情况是我想使用 dojo 的 addOnLoad 函数来排队一些回调,这些回调应该在 DOM 在客户端完成渲染后执行。所以我正在做的事情如下:
<html>
<head>
<script type="text/javascript" src="dojo.xd.js"></script>
...
</head>
<body>
...
<script type="text/javascript">
dojo.addOnLoad( ... );
dojo.addOnLoad( ... );
...
</script>
</body>
</html>
现在,问题是我似乎在将整个 Dojo 库下载到浏览器之前调用了 dojo.addOnLoad。这在某种程度上是有道理的,因为内联 SCRIPT 内容应该在整个 DOM 加载之前执行(并且触发正常的正文 onload 回调)。
我的问题是 - 我的方法是否合理,或者注册一个普通/标准主体 onload JavaScript 回调来调用一个函数是否更有意义,该函数与每个 dojo.addOnLoads 在 SCRIPT 块中所做的工作相同。当然,这引出了一个问题,如果您不能保证 Dojo 库会在使用库之前被加载,为什么还要使用 dojo.addOnLoad?
希望这种情况对我以外的人有意义。似乎其他人可能遇到过这种情况。
想法?
最好的问候,亚当赖斯