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

前端之家收集整理的这篇文章主要介绍了html – Chrome中的文件URL跨域问题 – 意外前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是关于Chrome在使用文件网址时抛出跨域错误

我正在使用带有data属性的对象标签以一个相对路径的形式将一个svg文档嵌入到一个HTML中,在onload事件时,我想使用getSVGDocument()获取SVGDocument.

我使用文件url访问html文件,当调用getSVGDocument时,Chrome会提供跨域错误. Chrome实际上嵌入了SVG,但是getSVGDocument不会返回SVG的DOM

Chrome错误
“不安全的JavaScript尝试使用URL文件访问框架:/// C:/MyFiles/website/Dir1/a.svg from frame with URL file:/// C:/MyFiles/website/Dir1/index.html域,协议端口必须匹配“.

您可能会看到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.

一个警告词,虽然:他们被称为“安全限制”的原因,所以不要在浏览第三方网站时应用此.在正常浏览网页时关闭电源极其危险.例如,关闭功能后,我现在可以代您发送请求,如gmail.com,facebook.com和yourbank.com,您的cookies将被设置为允许我自己伪装.

如果您仍然需要这样做,则需要使用–disable-web-security标志运行chrome:

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

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

猜你在找的HTML相关文章