当前位置: 首页 > 面试题库 >

通过“ ajax”从“ file://”内容访问相对URL

薛烈
2023-03-14
问题内容

我正在整理一些演示页面,而我想演示的一件事涉及通过后续处理动态获取HTML片段。因此,我得到了如下简单的jQuery代码

$('#target').load('./content_fragment.html', function() {
  $(this).doSomething();
});

我通过file:// URL执行所有操作,因为整个过程都是我(可能)通过拇指驱动器或其他工具运行的演示的一部分。因此,“
content_fragment.html”只是另一个本地文件,就像包含该代码的主页一样。

现在,这一切都可以在Firefox或Safari上正常运行,而相对URL的 其他 用法在Chrome中也可以正常运行(iframe“ src”
URL,图像,脚本,css等),但是Chrome不会关注那些“ .load” ()”的要求。如果我压缩内容并将其部署到Web服务器,然后通过其“
http:”
URL进行访问,则Chrome可以正常工作。如果无法使用,我在Chrome控制台中看不到任何错误;它只是不获取内容。我已经在Linux和XP上的Chrome浏览器中进行了尝试,结果相同。(并且Safari或Firefox到相同的文件://
URL总是按照我的期望并加载内容。)

所以我的问题是,这种怪异只是Chrome的古怪之处,还是XMLHttpRequests和file://
URL本质上存在疑问?换句话说,Chrome浏览器在做 正确的 事情,意味着其他浏览器都坏了吗?


问题答案:

您可以--allow-file-access-from-files在启动chrome时添加到命令行以禁用此安全功能:)

是虫子吗?也许(也许不是),发生的事情是它没有被file://视为单个域,对其他文件的请求被视为不同的域,因此被SOP规则阻止。Chrome
/ Chromium开发人员可以选择它是否正确,这取决于您的观点。

在Google代码的Chrome问题部分中对此进行了大量讨论,您可能会在此处和此处找到感兴趣的讨论。



 类似资料:
  • 问题内容: 是否可以获取文档中CSS文件的全部文本内容?F.ex: 我不是真的通过document.styleSheets获取所有CSS规则,还有另一种方法吗? 更新: 当然有ajax选项,我感谢给出的答案。但是似乎没有必要使用已经在浏览器中加载的ajax重新加载文件。因此,如果有人知道提取当前CSS文件的文本内容的另一种方法(不是CSS规则),请发表! 问题答案: 如果样式表包含在同一个域中,则

  • 问题内容: 好的,所以我对ajax和从外部加载内容还很陌生,希望对我的问题有任何见解。 我目前有一个隐藏的div,它是空的,单击链接后应该在其中加载ajax内容。 我目前有一个链接列表,所有链接都具有相同的类,并且我想在单击空白div时进行幻灯片切换,然后从链接要访问的页面中加载内容。 链接: 当前的jQuery: 刚接触Ajax并加载外部内容时,我想知道如何从位于标签中的链接页面加载内容。因此,

  • 问题内容: 目前我的模态对话框是这样的 加载的Div包含在同一页面中。显示对话框时,如何将div移至第二页并通过Ajax加载内容?是否可以根据需要重用脚本来加载不同的内容? 问题答案: 看看Nemikor的这篇博客文章,它应该做您想要的。 http://blog.nemikor.com/2009/04/18/loading-a-page-into-a- dialog/ 基本上,在调用“打开”之前,

  • 我有一个docker应用程序,我使用以下docker compose。yml运行它: 我有一个没有docker化的服务器在我的机器上运行,我可以通过访问它。我希望我的服务能够访问它。 我发现有人建议在我的服务配置中添加以下内容: 但是当我添加这个时,并尝试,我得到。当我尝试<code>curl时,也会出现同样的错误http://host.docker.internal:3000。 我拼命地尝试将端

  • 我正在使用Java文本编辑器(Swing)。到目前为止,我已经做了身体。我有这个功能的问题: 新建(JMenuItem)(清空JTextArea的内容) 当用户单击该按钮时,JTextArea内容应替换为空字符串。这是我的代码(我正在使用与问题无关的代码,例如创建菜单、添加菜单项,只添加类。) 这是TextArea类: (如你所见,是空的。) 这是MenuBar类: 这是类构造函数,我在其中添加了

  • 问题内容: 我想我有一个非常简单的问题,但找不到解决方案。因此,我要通过HTML加载DIV内容。问题在于它不仅是文本,而且是图像。Ajax调用返回HTML代码,但是该代码在DIV中显示为HTML,并且不会执行。难以解释,但从示例中可以明显看出… AJAX调用返回字符串: 问题很明显。我得到的是实际的代码,而不是图像和div中的3.3°C,因此,我看到的不是图像,而是img src =…。 我知道我