问题是,我正在为我的openSeadragon项目添加Annotorious。 http://annotorious.github.io/demos/openseadragon-preview.html 让这个插件开始,以下是选项。
<script>
function init() {
anno.makeAnnotatable(document.getElementById('myImage'));
}
</script>
...
<body onload="init();">
<img src="example.jpg" id="myImage" />
</body>
这是问题所在,我使用这些来延迟在查看器块上加载javascript。
<script type="text/javascript">
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
这两者之间是否存在冲突?如果是这样,如何解决?
答案 0 :(得分:0)
我认为这应该有所帮助:
<script type="text/javascript">
var htmlOnLoad = window.onload;
window.onload = function(e){htmlOnLoad(e); downloadJSAtOnload(e)};
</script>
这个想法是让处理程序与HTML绑定并同时调用:html-和js-处理程序。
答案 1 :(得分:0)
Onload行为如下: (可能取决于浏览器类型 - 行为可能会改变 - 我在chrome上工作)
答案 2 :(得分:0)
当加载事件触发时,您正在尝试做两件事:
init
(反过来,拨打anno.makeAnnotatable
)anno.makeAnnotatable
可用的JavaScript 在功能存在之前,您无法调用该功能。您必须延迟调用init
,直到加载downloadJSAtOnload
触发器已完成的JS。 (具体情况取决于downloadJSAtOnload
的工作原理)。