css - 使用外部 XSL 样式表呈现本地下载的 XML 文件的回退策略

标签 css xml firefox xslt cross-domain

在我们的内部合作中,我们交换 XML 文件和关于我们实验的状态信息。这些 XML 文件的来源是一个中心网站,我们希望在该网站上使用 XSL 样式表呈现这些文件。当协作者将 XML 文件下载到她的本地计算机并尝试在 Firefox(或看起来不是 Safari 的任何其他软件)中打开该文件时,浏览器由于跨域冲突而拒绝加载现在的外部 XSL 文件。这种行为是可以生存的,问题是许多浏览器没有显示有用的原始 XML,而是显示错误:

Error loading stylesheet: An unknown error has occurred
(805303f4) http://user.web.cern.ch/user/grl_xslt/grl.xsl

有没有办法告诉浏览器,如果 XSL 文件不可用,显示原始 XML 或应用另一个基于 CSS 的样式表?

最佳答案

您可以考虑配置您的服务器以允许访问,例如当我加载包含内容的本地文件时

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://home.arcor.de/martin.honnen/cdtest/test2012050101.xsl"?>
<root>
  <foo>
    <bar>test</bar>
  </foo>
</root>

对于 Firefox 12,它应用远程样式表,因为该目录的服务器配置为允许使用 HTTP header Access-Control-Allow-Origin "*" 进行跨源访问。 https://developer.mozilla.org/en/HTTP_access_control

但是请注意,我在 Opera 中得到了不同的结果,它显示的文档树表明没有找到关联的样式表。

并且 Chrome 以不安全为由拒绝访问外部样式表。

关于css - 使用外部 XSL 样式表呈现本地下载的 XML 文件的回退策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411647/

相关文章:

sql-server - 根据条件删除SQL Server中的XML节点

c# - 有什么方法可以检查 XmlSchemaParticle 是否为 EmptyParticle?

javascript - 什么会导致 Firefox 在执行外部脚本后多次请求资源?

javascript - 如何知道我的文本在 DIV 中包裹了多少行

html - 如何在下划线(wordpress)上制作响应式排版?

xml - golang 中的变量 xml 标签

firefox - Firefox 6 支持 CSS 3D 变换吗?

jquery - less.js 可以从 HTML 中读取类名和参数吗?

html - 更改 css 中的重叠像素

firefox - firefox 如何存储已保存的密码?