gpt4 book ai didi

joomla - 合并js文件后window.addEvent不是函数

转载 作者:行者123 更新时间:2023-12-02 00:09:32 25 4
gpt4 key购买 nike

好吧,我使用 joomla 的 ScriptMerge 将所有 js 文件合并为一个,但现在我得到 window.addEvent 不是挤压框初始化的函数,除此之外其他一切都工作正常......我注意到挤压框代码是head 标签中剩下的唯一 javascript block ,所有其他脚本都被合并并移动到正文中...当我单击一个打开挤压框的按钮时,它当然不会打开,但是当我再次单击它时它会正常打开...有没有人知道如何解决这个错误?也许是因为现在在合并的 js 文件中调用了 mootools 核心,但没有在头部调用,所以挤压框代码返回错误,因为它没有 mootools 核心?

最佳答案

你的问题是:您正在脚本上使用 async 属性 - async 意味着脚本将加载并且不会像默认行为那样保持 dom 执行(没有 async推迟)。所以你试着调用window.addEvent当您没有将 mootools 加载到页面时,这就是您收到 undefined 错误的原因.

问题的2个解决方案:

  1. 删除 async 属性以强制脚本在加载之前保持不变,然后继续执行 dom。
  2. 在脚本标签中添加 onload事件并在那里执行脚本的其余部分:

<script src="http://tereni.me/cache/plg_scriptmerge/975e10ecd911c8ca09713d1120c51a6d.js" async type="text/javascript" onload="onLoadScript();"></script>

然后在另一个脚本标签内:

function onLoadScript(){
window.addEvent('domready',function(){
alert('dom is ready');
});
}

关于joomla - 合并js文件后window.addEvent不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169242/

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