在XSL中输出Javascript document.write

时间:2013-11-19 13:43:13

标签: javascript xml xslt xhtml document.write

我在通过我的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>标签)

- &GT;如何正确输出带脚本标签的document.write?

1 个答案:

答案 0 :(得分:2)

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