Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从以下数据调用XSLT文件:text/xml_Javascript_Angularjs_Xml_Xslt - Fatal编程技术网

Javascript 从以下数据调用XSLT文件:text/xml

Javascript 从以下数据调用XSLT文件:text/xml,javascript,angularjs,xml,xslt,Javascript,Angularjs,Xml,Xslt,祝大家今天愉快 我试图从一个XML调用一个XSLT文件,我正在使用从REST获取的数据text/XML呈现该XML文件。 最基本的尝试是使用这一行代码: window.open( 'data:text/xml,' + encodeURIComponent( responseData ) ); 我的另一个尝试是使用angular material在模态iframe中打开它,使用xml数据设置src,两个测试都使用URL打开xml,但出现以下错误: 加载样式表时出错:未知错误805303f4 我已

祝大家今天愉快

我试图从一个XML调用一个XSLT文件,我正在使用从REST获取的数据text/XML呈现该XML文件。 最基本的尝试是使用这一行代码:

window.open( 'data:text/xml,' + encodeURIComponent( responseData ) );
我的另一个尝试是使用angular material在模态iframe中打开它,使用xml数据设置src,两个测试都使用URL打开xml,但出现以下错误:

加载样式表时出错:未知错误805303f4

我已经在firefox和chrome中进行了测试,chrome在控制台中的错误详细信息更加清晰:

试图从包含URL数据的框架加载URL路由到xsl.xsl的不安全尝试:text/xml,。。。域、协议和端口必须匹配

我尝试使用样式表的绝对路径,包括相同的协议、域等,但错误仍然存在于iframe或new选项卡选项中


任何帮助,谢谢。

由于这是Firefox或Chrome等web浏览器中的客户端Javascript,我建议使用XSLTProcessor执行XSLT转换,您可以使用XMLHttpRequest拉入XSLT样式表,使用DOMParser解析响应数据,然后使用XSLTProcessor进行转换

我认为您不会让浏览器执行数据URL中引用的XSLT,除非XSLT本身作为数据嵌入:

var encodedXslt='data:application/xml',+encodeURIComponentdocument.getElementById'xslt'.textContent; var xmlCode=document.getElementById'xml'.textContent; var-pi=; var encodedXml='data:application/xml',+encodeURIComponentpi+xmlCode; window.frames.xmlDisplay.location.href=encodedXml; 福 酒吧
嗨,谢谢你抽出时间。现在:我已经像你在这里说的那样尝试了,但是在firefox中我得到一个错误,说等待。。。除此之外,在Chrome中,我将控制台资源解释为文档,但使用MIME类型的application/xml进行传输,并吐出整个XSLT,下一个问题是:如果我需要加载多个XSLT,因为主XSLT会导入多个XSLT,该怎么办?我回答中的代码段是可执行的运行代码段,对于我来说,在Firefox 58中,它会显示一个无序的HTML列表,表示应用了XSLT。正如我所说,它在Chrome中不起作用。至于使用Javascript中的XSLTProcessor,您需要编辑您的问题或询问一个新的问题,其中包含最小但完整的示例的所有详细信息,以便我们重现问题。好的,我只需更改firefox语言以查看它的英文说明,在我的项目中实现您的代码:XML解析错误:并指向