gpt4 book ai didi

html - Chrome 中的文件 URL 跨域问题 - 意外

转载 作者:技术小花猫 更新时间:2023-10-29 12:25:47 26 4
gpt4 key购买 nike

问题是关于 Chrome 在使用文件 url 时抛出跨域错误

我使用对象标记将 svg 文档嵌入到 HTML 中,其中数据属性以相对路径的形式出现,在 onload 事件发生时我想使用 getSVGDocument() 获取 SVGDocument。

我正在使用文件 url 访问 html 文件,当调用 getSVGDocument 时,Chrome 会给出跨域错误。 Chrome 实际上确实嵌入了 SVG,但 getSVGDocument 不返回 SVG 的 DOM

Chrome 错误是“不安全的 JavaScript 尝试从具有 URL file:///C:/MyFiles/website/Dir1/index.html 的框架访问具有 URL file:///C:/MyFiles/website/Dir1/a.svg 的框架,域,协议(protocol)并且端口必须匹配。”

您可能会看到 html 和嵌入式文档 svg 的基本路径相同,那么为什么 Chrome 会抛出此错误?

最佳答案

您遇到了 Chrome 的跨域/文件安全限制。

您可以按照 Disable same origin policy in Chrome 中的说明禁用此功能和详细信息 How can access and the origin policy in chrome as I'm not using a server关于如何在关闭这些功能的情况下启动 Chrome。

不过,请注意:它们被称为“安全限制”是有原因的,所以在浏览第 3 方网站时不要应用它。 在正常浏览网页时关闭此功能极其危险例如,关闭此功能后,我现在可以代表您向 gmail.com、facebook 等网站发出请求.com 和 yourbank.com,您的 cookie 将被设置为允许我伪装成您自己。

如果您仍然真的需要这个,您需要使用 --disable-web-security 标志运行 chrome:

chrome --disable-web-security # unix/linux only

如果您需要有关如何应用标志的跨操作系统说明,请参阅 http://www.chromium.org/developers/how-tos/run-chromium-with-flags .

关于html - Chrome 中的文件 URL 跨域问题 - 意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6060786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com