gpt4 book ai didi

javascript - 使用 javascript 加载 XSL 文件

转载 作者:行者123 更新时间:2023-11-28 01:58:54 24 4
gpt4 key购买 nike

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

    var xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet("MML2OMML.XSL");

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

Origin null is not allowed by Access-Control-Allow-Origin.

我了解到我无法从本地文件系统加载 xsl 文件,除非我将 FileReaderHTML5 一起使用,但这需要我使用表单输入,而我不想这样。

所以我尝试使用 XMLHttpRequest 将文件放在保管箱上的公共(public)文件夹中,使用以下代码:

    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);

我仍然有同样的错误

Origin null is not allowed by Access-Control-Allow-Origin.

这个错误不是Chrome检测到访问的文件是本地的吗?为什么他认为文件在公共(public)存储 (Dropbox) 上时是本地文件?

我已经寻找答案 2 天了,我真的很沮丧。有人可以为我提供解决方案吗?谢谢:)!

最佳答案

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

关于javascript - 使用 javascript 加载 XSL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15185136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com