gpt4 book ai didi

javascript - 需要使用body onload事件,但是第三方JavaScript库已经劫持了它

转载 作者:行者123 更新时间:2023-11-28 14:05:27 27 4
gpt4 key购买 nike

我正在使用 Simile 绘制动态时间线。我还使用内部库来添加评论博客。我们的内部库使用 body 元素的 onload 事件进行初始化。

<body onload="initComments('myID')">

但是 Simile 似乎为了自己的目的劫持了 onload,因此 initComments('myID') 永远不会执行。

如果不更改 Simile 代码,我怎样才能运行我的初始化程序?

我不想只是为了解决问题而添加另一个库(即 jQuery)。

最佳答案

首先,作为一般规则,您希望避免将 JavaScript 作为标记属性嵌入到 HTML 中。

其次,Simile 可能会覆盖 onload (使用方式与您相同)。因此,您需要在添加 Simile 后添加 onload 事件。

使用 jQuery:

<script src="/js/blah/simile.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
initComments('myID');
});
</script>

不使用库(找到 here ):

<script src="/js/blah/simile.js" type="text/javascript"></script>
<script type="text/javascript">
function addOnloadEvent(fnc){
if ( window.addEventListener ) {
window.addEventListener( "load", fnc, false );
} else if ( window.attachEvent ) {
window.attachEvent( "onload", fnc );
}
else {
var oldOnload = window.onload || function() {};
window.onload = function(e) {
oldOnload(e);
window[fnc](e);
};
}
}

addOnloadEvent(function() { initComments('myID'); });
</script>

关于javascript - 需要使用body onload事件,但是第三方JavaScript库已经劫持了它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1704010/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com