2011-08-15 56 views
1

我有一个简单的JavaScript,它在按下按钮时加载新的样式表......它在除Chrome之外的每个浏览器中都能正常工作。它甚至可以在共享Webkit引擎的Safari中正常工作。Javascript适用于除Chrome之外的所有浏览器

这里是我的页面的链接: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;"> 
       &nbsp; 
</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

你能在这里粘贴相关代码吗?您可以点击编辑器中的“{}”按钮,告诉它您正在粘贴代码。 –

+0

您的网页在Chrome/Mac中适用于我。你确定你不只是有一些不好的缓存吗? –

+0

您在Chrome中启用了哪些扩展程序?你可以尝试一个全新的安装Chrome吗? –

回答

0

由于没有足够的信息,我只能猜测:

我猜,你有任何扩展启用它与您的代码碰撞或有一些不好的代码您的缓存。

你可以尝试以下方法:

  1. 清除浏览器缓存
  2. 禁用所有扩展
  3. 重新启动浏览器
  4. 给我们一些反馈;-)
+0

对不起...我没有提供足够的信息。当你点击“加载新的样式表”按钮时,它应该会触发一个改变按钮的Javascript(它会这样做),并且加载一个新的样式表,这个样式表完全改变了网站的图像和外观(它没有)。感谢您迄今为止的所有回应......非常有帮助。我认为这与我的一个文件加载时间过长有关......我正在调查。再次感谢! – Evan

3

我也经历这一点,并可能有一些洞察力。我在Mac OSX Lion上使用Chrome 13.0.782.112。

浏览器限制每个域可以为外部文件创建的请求数量。如果您打开Chrome的开发人员工具并查看网络选项卡,则可以看到为.css文件提出的请求,并将其置于待处理状态。仔细观察,你会发现还有大约十几个其他文件仍然试图从同一个域加载。我的猜测是这些文件中的一个或多个非常大或者服务器没有响应。这会导致浏览器不加载来自同一个域的其他文件。

UPDATE
的请求到该文件提出:http://www.evanjackson.net/music/track_1.m4a和许多其他的.m4a曲目,服务器没有响应。由于.css文件位于同一个域中,Chrome正在等待这些.m4a文件首先加载。

看起来像某些版本的Chrome无法处理.m4a文件,直到它们完全加载。

+0

即使在单独的选项卡中,我也无法加载他的css文件(使用chrome,firefox很好)。 Phrogz - 尝试直接链接到该CSS文件(从等式中取出JavaScript)。出现某些其他原因,chrome似乎没有加载该文件。在调试时,该文件的大小始终为0,并且下载无限期地保留在待处理状态。我同意tybro0103你一次加载大量资源,但我不认为这是问题的根源。也许添加一个测试页面,也可以将另一个文件加载到等式之外。 – Sam

+0

@Sam这是因为您仍然在另一个选项卡中打开页面。关闭另一个选项卡,并立即加载。 – tybro0103

+0

已确认 - 关闭原始链接,然后加载css文件会立即加载css文件。我认为tybro0103有正确的答案。那些其他资源必须阻碍整个过程。 – Sam

相关问题