我有一个简单的javascript,当按下按钮时会加载一个新的样式表...它可以在除Chrome之外的每个浏览器中正常工作。它甚至可以在Safari中运行,它共享Webkit引擎。
以下是我的网页链接:www.evanjackson.net/index-new.html
我研究了这个问题,我尝试了很多东西,但无法弄明白。该脚本位于文件“initial.js”中。任何帮助将不胜感激!
相关代码:
<div onclick="hideStuff('button1'); showStuff('button2'); loadjscssfile('css/custom-theme-reskin2/reskin.css','css'); return false;" id="button1" style="display: block;">
</div>
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
答案 0 :(得分:3)
我也遇到过这种情况,可能会有一些见解。我在Mac OSX Lion上使用Chrome 13.0.782.112。
浏览器限制每个域可以为外部文件发出的请求数。如果您打开Chrome的开发人员工具并查看网络选项卡,则可以看到针对.css文件的请求,并将其置于挂起状态。仔细观察,你会发现还有大约十几个其他文件仍试图从同一个域加载。我的猜测是这些文件中的一个或多个要么非常大,要么服务器没有响应。这将导致浏览器无法加载来自同一域的其他文件。
<强>更新强>
请求此文件:http://www.evanjackson.net/music/track_1.m4a和许多其他.m4a轨道,服务器没有响应。由于.css文件位于同一个域中,因此Chrome正在等待首先加载这些.m4a文件。
在完全加载之前,某些版本的Chrome似乎无法处理.m4a文件。
答案 1 :(得分:0)
由于没有足够的信息,我只能猜测:
我想,您启用的任何扩展程序都会与您的代码发生冲突,或者您的缓存中存在一些错误的代码。
您可以尝试以下方法: