用javascript加载XSL文件

用javascript加载XSL文件,javascript,xml,html,xslt,Javascript,Xml,Html,Xslt,我正在构建一个web应用程序,将ascii格式的数学公式转换为MathML格式,然后将MathML格式转换为OMML格式。 为此,我找到了一个xsl文件,它使用XSLTProcessor将MathML转换为OMML。 在我的脚本中,我成功地构建了MathML文件并加载它,为了转换它,我在加载xsl文件时遇到了严重的问题,使用: var xsltProcessor=new XSLTProcessor(); xsltProcessor.importStylesheet("MML2OM

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

    var xsltProcessor=new XSLTProcessor();
    xsltProcessor.importStylesheet("MML2OMML.XSL");
该应用程序只是一个客户端,它将用于个人用户,因此没有服务器。 因此,了解chrome存在权限问题:

访问控制允许原点不允许原点为null

我了解到我不能从本地文件系统加载xsl文件,除非我将FileReaderHTML5一起使用,但这要求我使用表单输入,我不希望这样

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

    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)上时是本地的


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

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