Javascript IE仅加载远程托管的.js文件
我正在使用highcharts的演示代码测试一个非常简单的应用程序 当我在FF中加载演示时,它会工作。当我在IE中加载演示时,它不会加载,除非我使用远程托管的jquery.min.js文件和highcharts.js文件 我的域中保存了jquery文件和highcharts.js。它们都能够在FF中正确使用。然而,当我在IE中加载页面时,我没有得到任何输出,除非我使用其他输出 我在服务器上的文件是相同的。它们显然(在FF中)起作用,但出于某种原因IE不喜欢它们 为了澄清,当我这样做时:Javascript IE仅加载远程托管的.js文件,javascript,jquery,internet-explorer,highcharts,local,Javascript,Jquery,Internet Explorer,Highcharts,Local,我正在使用highcharts的演示代码测试一个非常简单的应用程序 当我在FF中加载演示时,它会工作。当我在IE中加载演示时,它不会加载,除非我使用远程托管的jquery.min.js文件和highcharts.js文件 我的域中保存了jquery文件和highcharts.js。它们都能够在FF中正确使用。然而,当我在IE中加载页面时,我没有得到任何输出,除非我使用其他输出 我在服务器上的文件是相同的。它们显然(在FF中)起作用,但出于某种原因IE不喜欢它们 为了澄清,当我这样做时: <
<script src="http://www.mydomain.com/jquery.js"></script>
<script src="http://www.mydomain.com/highcharts.hs"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
它在FF中有效,但在IE中无效
当我这样做时:
<script src="http://www.mydomain.com/jquery.js"></script>
<script src="http://www.mydomain.com/highcharts.hs"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
它适用于FF和IE
我已经一次一个地替代了它们,只有当它们都是后一个版本时,它才能在IE中工作
如果我在自己的域中加载.js文件而不是加载其他域中托管的文件,为什么IE不想运行这些文件?首先,您的highcharts JavaScript文件的扩展名不正确。它应该是
/highcharts.js
而不是/highcharts.*hs**
对于您自己的域,不需要绝对URL
<script src="/jquery.js"></script>
<script src="/highcharts.js"></script>
我发现了问题所在 我在.htaccess中添加了以下代码,以防止其他站点使用my.js:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC]
RewriteRule \.(js|css)$ - [F,NC,L]
这段代码阻止我自己的.js在IE中使用,但不能在FF中使用。不同的浏览器对文件的处理方式是否不同
当我从.htaccess文件中删除该代码时,网站按预期在FF和IE中加载
这也解释了为什么我的.css不能工作,除非我从外部源加载它(我使用的是一个js手风琴,它有自己的css)。我从这个网站上的另一篇文章中得到了这段代码,并在FF中进行了测试,并假设它也能在IE中工作。现在,我需要获得新的.htaccess代码,该代码也对IE友好。我输入了错误的扩展名。我使用的脚本版本是正确的,因为它在Firefox中工作正常。当我尝试在Internet Explorer中加载站点时,问题似乎出现了。控制台中有哪些错误?为什么使用highcharts.hs而不是js?