Javascript 将静态资源切换到CDN后,google地图在Chrome+;Firefox,在Safari中很好:

Javascript 将静态资源切换到CDN后,google地图在Chrome+;Firefox,在Safari中很好:,javascript,cdn,socialengine,Javascript,Cdn,Socialengine,我只是在寻找任何能帮助我缩小调试范围的指针 我的站点在不使用CDN的情况下运行良好。如果我使用一个CDN(Edgecast,但也是我测试过的另一个),那么嵌入在页面中的谷歌地图不会在Chrome和Firefox中显示,但在Safari中显示良好(所有最新版本,无法在IE上测试) 在我的应用程序(社交引擎)中关闭CDN设置可以纠正它,因此它确实与CDN相关 如果我将html源代码保存在本地计算机上,并在本地浏览器中查看它,那么它也可以正常工作 我的网站还有一个功能,JS幻灯片,它也不起作用,遵循同

我只是在寻找任何能帮助我缩小调试范围的指针

我的站点在不使用CDN的情况下运行良好。如果我使用一个CDN(Edgecast,但也是我测试过的另一个),那么嵌入在页面中的谷歌地图不会在Chrome和Firefox中显示,但在Safari中显示良好(所有最新版本,无法在IE上测试)

在我的应用程序(社交引擎)中关闭CDN设置可以纠正它,因此它确实与CDN相关

如果我将html源代码保存在本地计算机上,并在本地浏览器中查看它,那么它也可以正常工作

我的网站还有一个功能,JS幻灯片,它也不起作用,遵循同样的模式。当我打开和关闭CDN时,唯一改变的是JS、CSS和图像文件的位置

我尝试了很多东西,在控制台中没有看到任何错误,我只是对这种行为感到困惑。如果有人根据所描述的模式有任何进一步调查的建议,我将不胜感激

如果您想查看一个在Safari中运行良好但在Chrome/Firefox中运行不正常的页面,您可以查看。“地图”选项卡应显示谷歌地图

非常感谢你的帮助

最好的,
-朱利安

嗯,我还没有找到答案,但它与另一个阻止谷歌地图出现的JS有关

关于Safari和Chrome之间的区别仍然没有任何线索,但我现在已经隔离了导致这种情况的socialengine插件


当然,它与CDN相关,在Safari中仍然可以很好地工作,因此,如果有人有任何假设,我仍然有兴趣听他们说:-)

我也遇到了这个错误,并尝试将mootools从1.2.5升级到1.4.5-但错误变为:

Uncaught ReferenceError: Asset is not defined
然后我在这里使用了Mootools builder: (全选,包括兼容性,无压缩)

。。。幻灯片现在可以播放了。

我遇到了同样的错误:

Uncaught TypeError: Array.prototype.forEach called on null or undefined at mootools-1.2.5-core-nc.js:81
找到了一个适合我的解决方案:

在文件
mootools-1.2.5-core-nc.js
(或者您的代码所在的任何地方,似乎也适用于旧版本)中,替换以下行(
mootools-1.2.5-core-nc.js
):

通过这一行:

var rules = sheet.rules || sheet.cssRules || [];

显然,无论是
sheet.rules
还是
sheet.cssRules
都不需要正确初始化,因此只需指定一个空数组作为变量
rules
的第三个替代项即可解决此问题

由于某些原因,Chrome在这里似乎比通常的嫌疑犯更敏感(或准确…;)


因此,如果您使用的是压缩版本,请替换此行(好的,压缩行):

据此:

var F=E.rules||E.cssRules||[];

由于在压缩版本中,内部变量被重命名为较短的值,因此您的变量可能不会像我的情况那样实际命名为
F
,但您得到了这样的想法:)



编辑:由于这似乎是一个实际的错误,我向MooTools Core bugtracker报告了它,所以他们可能会在官方版本()中修复它。

在Safari中,我也看到了地图,但在Chrome中,我得到了以下javascript错误:
uncaughttypeerror:Array.prototype.forEach在
mootools-1.2.5-core-nc.js:81上调用了null或undefined
。您使用的库版本是否与使用CDN的库版本相同?
var F=E.rules||E.cssRules;
var F=E.rules||E.cssRules||[];