我们正在构建 SaaS 产品并购买了引导仪表板,所有 JS/CSS Assets 都通过我们的 CDN 通过 sobdomain 加载。
在 chrome 上完美运行,但在 ie 和 ff 上组件无法正确加载,在 ff 上出现以下错误: 类型错误:无法访问死对象 ReferenceError: 事件未定义
下面是一个非工作示例的链接(出于商业原因,我们不想授予对工作仪表板的访问权限)单击“下拉”菜单项时,您可以看到错误。据我所知,所有 Assets 都正确加载。
http://hunchbuzz.com/acme/index.html
如有任何帮助,我们将不胜感激。
最佳答案
好吧,把你的错误一个一个地处理掉。您在 IE 中测试页面时是否打开了 JavaScript 调试器?在 F12 开发人员工具中,选择脚本,然后选择开始调试。
首先,我暂时忽略了 jquery.sparkline.min.js
中的几个错误。然后我尝试单击您的“下拉”链接并收到此错误:
SCRIPT438: Object doesn't support property or method 'preventDefault'
custom.js, line 3 character 1193
突出显示的代码是(为了便于阅读而重新格式化):
$('.dropmenu').click( function(){
event.preventDefault();
// ...
});
你看到问题了吗?什么是事件
?代码应该是:
$('.dropmenu').click( function( event ){
event.preventDefault();
// ...
});
它在任何浏览器中都可以工作的事实可能是由于某些浏览器创建的全局 event
变量以与非常旧的代码兼容。
现在回到迷你图问题。我看到它在 jquery.sparkline.min.js
中遇到了两个错误,但是使用最小化的代码,问题并没有像另一个问题那样突然出现。
在调试时,加载 jquery.sparkline.js
、custom.js
、jQuery 等的非缩小版本会很有帮助。然后,您将在调试器中查看可读的代码,这样可以更轻松地发现这些问题。
关于javascript - 子域中的 JS Assets 不会在 ff & ie 上加载,但 chrome 一切都很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16531888/