首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用javascript加载XSL文件

用javascript加载XSL文件
EN

Stack Overflow用户
提问于 2013-03-03 11:24:07
回答 1查看 1.4K关注 0票数 2

我正在构建一个web应用程序,它将用ascii编写的数学方程转换为MathML格式,然后将MathML格式转换为OMML格式。为此,我找到了一个xsl文件,该文件使用XSLTProcessor.将MathML转换为OMML。在我的脚本中,我成功地构建并加载了MathML文件,并对其进行了转换,我在使用以下方法加载xsl文件时遇到了严重的问题:

代码语言:javascript
复制
    var xsltProcessor=new XSLTProcessor();
    xsltProcessor.importStylesheet("MML2OMML.XSL");

该应用程序只是一个客户端,它将用于个人用户,因此没有服务器。因此,知道chrome有权限问题:

访问-控制-允许-原产地不允许原产地null。

我了解到,除非我使用FileReaderHTML5,否则无法从本地文件系统加载xsl文件,但这要求我使用表单输入,我不想这样做。

因此,我尝试使用XMLHttpRequest将文件放在dropbox上的公用文件夹中,使用以下代码:

代码语言:javascript
复制
    var request = new XMLHttpRequest();
    var url = "http://dl.dropbox.com/u/27440550/MML2OMML.XSL";
    request.open("GET",url,true);
    request.send();
    console.log(request.responseXML);

我仍然有同样的错误

访问-控制-允许-原产地不允许原产地null。

当Chrome检测到被访问的文件是本地文件时,不是会产生此错误吗?为什么他认为文件在公共存储(Dropbox)时是本地的?

已经两天了,我正在寻找答案,我真的很沮丧。有人能给我一个解决方案吗?谢谢:)!

EN

回答 1

Stack Overflow用户

发布于 2013-03-03 14:55:43

如果您将该应用程序作为离线应用程序从file:///,运行,那么XSLT文件是否在线并不重要;这两个起源都必须一致,对于您的应用程序来说,它仍然是"null",因此您将无法获得该XSLT文件。如果应用程序确实是客户端的,那么在客户端获得应用程序时,将该XSLT文件作为其下载数据的一部分,并将其存储为base64编码的文本,以便您可以解压缩并插入Javascript,或者将其放在与index.html相同的目录中,然后将生成的XML作为相对链接加载样式表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15185136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档