为什么我无法在Chrome中使用XSLT?

9
我有一个 XSLT 示例,是从 http://www.w3schools.com/xsl/xsl_transformation.asp 直接复制而来的,但我似乎无法在 Google Chrome 中查看它。然而,在 IE 中它似乎可以正常工作。
有人知道为什么会这样吗?
编辑:
在线版本可以正常工作,但本地副本却不行。

从那个页面链接过去的例子(http://www.w3schools.com/xsl/cdcatalog_with_xsl.xml)在Chrome(实际上是Chromium,但这并不重要)中对我来说看起来运行良好。它对你也有效吗?如果有效,那么你需要非常仔细地检查你设置中的差异,例如检查你发送的HTTP标头等。 - Joachim Sauer
1
只有当我将文件复制到本地文件夹(包括XSLT和XML)时,才会出现我的问题。 - Eric
本地副本是否包含第二行的处理指令?以 <? 开头的那个。请注意,在 Chrome 中使用“显示源代码”时,您看不到它。 - Joachim Sauer
是的,它确实存在。有趣的是它在源代码视图中并没有出现。 - Eric
1
可能是重复的问题:如何让XSLT在Chrome中工作? - Dave Jarvis
2个回答

10

我遇到了与Google Chrome (版本号13.0.782.215)和(非JavaScript XSL转换)相同的问题:

<?xml-stylesheet type="text/xsl" href="simple.xsl"?>

我发现对我有效的解决方案是使用Chrome浏览器并带上--allow-file-access-from-files开关:

// By default, file:// URIs cannot read other file:// URIs. This is an
// override for developers who need the old behavior for testing.
const char kAllowFileAccessFromFiles[]      = "allow-file-access-from-files";

这个常量设置应该在哪里应用? - Igor Savinkin
我在我的Google Chrome快捷方式的“目标”中添加了该属性。通过右键单击快捷方式并右键单击属性,将--allow-file-access-from-files添加到已经在该字段中的"path\to\chrome\exe"后面即可访问。 - Rossiar
如何在 macOS 中实现这个功能? - Pardeep Jain

2

如果你将示例复制到计算机上的文件中,那么在chromium上,xml将无法与xslt配合使用,因为它无法通过文件名找到提供的xslt文件。我尝试将xml文件和xslt文件都放到运行在我的计算机上的web服务器上,这样就可以了。

如果你的计算机上没有web服务器,我对chromium没有解决方案。但也许你可以尝试使用完整路径,以"file:///C:/"开头。如果这样仍然不起作用,可以尝试其他浏览器...

祝好运, Max Xie


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接