【问题标题】:Why does Chrome FileReader.readAsText strip the xmlns:xsi attribute from local XML files?为什么 Chrome FileReader.readAsText 会从本地 XML 文件中去除 xmlns:xsi 属性?
【发布时间】:2016-05-24 21:15:19
【问题描述】:

我编写了一个简单的 HTML 应用程序,它加载本地 XML 文件,然后允许用户通过 XSL 转换运行它们并下载结果。该应用程序似乎运行良好,直到我尝试使用由 Chrome 中运行的 HTML 应用程序转换的结果文件之一。 XML 格式不正确,因为缺少“xmlns:xsi”属性。我追溯它,发现它在加载时被 Chrome 无缘无故地剥离了。 FireFox 和 IE 工作正常;他们根本不会破坏文件数据。

这是 Chrome 的错误还是只是 Google 的一些安全问题? (发生在 Chrome v32.0.1700 中)

【问题讨论】:

    标签: html google-chrome schema filereader


    【解决方案1】:

    简短的回答是“不,使用其中一种不同的浏览器”。

    这不起作用的原因是由于 Chrome 以一种有争议的方式 [1][2][3][4] 解决了安全问题,即阻止 XML 文件访问同一目录中的本地 XSLT 文件, 而 HTML 文件可以访问同一目录中的 .CSS 文件就好了。

    在上面提到的问题中,用户要求提供更清晰的错误消息(因为域、协议和端口确实匹配),或者至少显示没有样式的 XML。 Chrome 开发者忽略了这些请求。

    【讨论】:

    • 那么“安全笨拙”是肯定的吗?你有没有提到谷歌专门解决这个处理问题(或者甚至一般,我猜)?只是阻止它的响应似乎很懒惰;我认为如果他们出于安全原因阻止直接访问,他们至少可以代理读取 XSLT 并在该上下文中显示 XML。
    猜你喜欢
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2011-03-29
    • 2015-08-09
    • 2010-09-25
    相关资源
    最近更新 更多