Jquery load() 仅在 Firefox 中工作?

Posted

技术标签:

【中文标题】Jquery load() 仅在 Firefox 中工作?【英文标题】:Jquery load() only working in firefox? 【发布时间】:2016-01-04 21:46:53 【问题描述】:

我正在尝试进入 jquery/ajax,但我什至无法相信我无法通过第一次测试。我正在关注我在The Jquery API site 找到的一个示例,然后我将其追踪到了一个 T。

我在桌面上创建了一个本地文件夹,并添加了2个文件。

index.html

list1.html.


索引.html:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<body>

<div id="stage">
</div>

<script>
$( "#stage" ).load( "list1.html" );
</script>

</body>

</html>

list1.html

<div id="list">
<li>Test</li>
<li>Foo</li>
<li>Bar</li>
</div>

我尝试在 chrome 中运行 index.html 大约 15 分钟,但没有显示任何内容(例如 jquery 未正确加载)。出于纯粹的好奇,我用firefox打开它,它按预期显示......像这样的

测试 富 酒吧

这是浏览器的问题吗?为什么 Chrome 和 IE 不显示这个加载列表,但 firefox 显示?我不知道是我的代码还是环境在尝试学习时令人愤怒。

【问题讨论】:

尝试将加载代码封装在$(document.ready) 中。可能是在您尝试运行该函数时未加载 jQuery。 你知道 jQuery 没有正确加载吗?您是否检查了 chrome 开发工具控制台和网络选项卡?它加载对我来说很好...... 是的,@PeteTalksWeb 由于出现错误“跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource,因此无法加载。” .或者换句话说,chrome 不喜欢打开机器本地的文件。我想知道为什么它会为你打开...... 我在本地服务器上运行我的。所以它在localhost,而不是文件目录。 【参考方案1】:

尝试启动带有 --allow-file-access-from-files 标志的 chrome / chromium

见How do I make the Google Chrome flag "--allow-file-access-from-files" permanent?

【讨论】:

这可以作为 Chrome 的解决方案......现在我将只进行所有本地测试并在 Firefox 中播放!轻松多了哈哈【参考方案2】:

试试

<script>
    $(function()
       $("#stage").load("list1.html");
    );
</script>

如果仍然无法正常工作,请检查浏览器开发者工具中的网络部分,看看是否有任何 HTTP 或安全错误。

【讨论】:

是的!谢谢...问题不是 Jquery 函数,而是 chrome 阻止了 xml 请求,因为它来自本地目录!

以上是关于Jquery load() 仅在 Firefox 中工作?的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 不在 jquery .load() 上显示 iFrame 内容

仅在 Firefox 中的 JQuery AJAX 异常:“无法在层次结构中的指定点插入节点”(HierarchyRequestError)

带有域字段的 CORS cookie 仅在使用 jQuery AJAX 的 Firefox 中设置

jquery load() 方法 语法

jQuery:代码在 Firefox 中有效,但在 IE 中无效

jquery 仅在 Safari 中产生保证金问题