2011-09-02 131 views
1

我在这里被困在这里有点jQuery的问题!我正在使用此代码将html文件(bio.html)的内容加载到div容器(内容)中。这适用于IE8和Firefox 6,但不适用于Google Chrome!jQuery加载()代码不能在谷歌浏览器中工作

任何想法,我可能会做错吗?继承人的代码:

<head> 
    <title>Test</title> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="./js/jquery.min.js"></script> 
</head> 

<div id="content"> 
    hi 
</div> 

<script type="text/javascript"> 

    $(document).ready(function(){ 

     $('#content').load('./html/bio.html'); 

    }); 

</script> 

+0

任何JavaScript控制台错误?你是否尝试过添加一个'complete'回调函数(load()中的第三个参数)?开发人员工具“网络”选项卡是否显示AJAX请求?如果是这样,请检查它是否返回HTTP错误代码。 (大多数浏览器都有相同的域安全策略 - 但由于您使用的是相对URI,因此看起来这不是您的问题。) –

+0

此问题已被询问了几次。我在不同的问题上发布了这个答案。 http://stackoverflow.com/a/24376097/756329 –

回答

1

它工作正常,我在Chrome

http://sandbox.phpcode.eu/g/512ef/2

如果您发现任何意外错误,请尝试查看开发人员的检查工具。确保你在http://或https://协议中,file://将不起作用

1

​​如果您从本地系统加载文件,将无法在Chrome中使用。

将它放在服务器上可以解决问题。

+0

你知道解决这个问题的方法吗? –

+0

http://stackoverflow.com/a/24376097/756329 –

1

听起来像你正在本地运行,是否正确? Chrome有一些安全功能,可以防止JQuery的加载方法在从本地硬盘上运行时失败。尝试将它放在某个服务器上。

1

由于安全原因,本地文件的​​由于安全原因而被Chrome阻止。如果您在服务器上使用它,因为所有文件都来自同一个地方。



要在本地实现一个工作版本,试图启用命令行标志启动浏览器:

在Mac OS X,退出浏览器,在终端输入:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files 

在Windows中,退出Chrome,在命令提示符中输入:

chrome.exe --allow-file-access-from-files 

(也许你实际上必须有路径......我不这么认为。如果是这样,你必须自己找到它)

在Linux中,退出浏览器,进入这样的事情到终端:

/usr/bin/google-chrome --allow-file-access-from-files 
相关问题