我一直在研究xslt,并开始使用w3schools上的示例进行测试。但是,当我将xml和xsl保存在文件中并尝试在本地打开它们时,chrome将不会执行xsl转换。它只是显示一个空白页。我已经将<?xml-stylesheet type="text/xsl" href="style.xsl">标记添加到xml文档中,并且Firefox渲染了它应有的外观。另外,如果我通过网络服务器查看文件,则chrome会以应有的外观显示文件。当链接位于本地时,chrome是否在查找样式表信息时遇到问题?将href更改为file:///C:/xsl/style.xsl没有任何区别。更新:这似乎是不将file:/// *视为相同来源的安全策略的副作用。这会使控制台中出现以下错误:不安全的尝试从带有URL file:/// C:/xsl-rpg/data.xml的框架中加载URL file:/// C:/xsl-rpg/style.xsl。域,协议和端口必须匹配。
3 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
简短的答案是“不,请使用其中一种多样的浏览器 ”。
这样做不起作用的原因是由于安全问题,Chrome已通过有争议的方式[1] [2] [3] [4]解决了安全问题,即通过阻止XML文件访问同一目录中的本地XSLT文件来实现,而HTML文件可以访问同一目录中的.CSS文件。
在上述问题中,用户要求提供更清晰的错误消息(因为域,协议和端口实际上是匹配的),或者至少显示不带样式的XML。Chrome开发人员忽略了这些请求。
潇潇雨雨
TA贡献1833条经验 获得超4个赞
如果您要坚持使用OP,答案是“否”(正如其他人指出的那样),但是解决此问题的一种方法是运行一个简单的网络服务器并通过chrome中的http打开文件。如果安装了python 2.x,则可以通过键入以下内容来运行网络服务器:
python -m SimpleHTTPServer
或者在python 3.x中:
python3 -m http.server
然后http://localhost:8000/yourfile.xml在chrome中使用打开文件。希望您只想完成工作,而不必使用file://
- 3 回答
- 0 关注
- 627 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消