以XSL输出Javascript文档.write

Output Javascript document.write in XSL

本文关键字:文档 write Javascript 输出 XSL      更新时间:2023-09-26

我在通过XSL页面输出document.write()javascript时遇到了重大问题。(这是第三方外部跟踪代码片段的一部分)

我想要的输出是:

  document.write('<sc'+'ript src="'+'http'+(document.location.protocol=='https:'?'s':'')+'://'+ia_link+'"></sc'+'ript>');

这是我的完整代码:

<script language="JavaScript" type="text/javascript">
    var url="someurl.js";
    var blablabla="some-dynamic-values"; 
    var ia_link=url+'?parameter='+blablabla;
</script>
<script>
   <xsl:text disable-output-escaping="yes"><![CDATA[document.write('<script type="text/javascript" src="//:'+ia_link+'"></script>')]]></xsl:text>
</script>
<noscript>
  <img src="http://url.php?blablabla=some-dynamic-values" width="1" height="1" />
</noscript>

我在document.write()元素之外尝试了几种方法。。。在上述<xsl:text disable-output-escaping="yes">不起作用的解决方案中,html被输出损坏(两个</script>标签)

-->如何正确输出带有脚本标记的document.write

您的目标浏览器是什么?众所周知,Firefox或SeaMonkey等Mozilla浏览器在客户端XSLT转换的HTML结果中不支持document.write:https://developer.mozilla.org/en/docs/XSL_Transformations_in_Mozilla_FAQ#What_about_document.write.3F