在xsl中为body onload添加一个值

adding a value to body onload in xsl

本文关键字:一个 添加 xsl 中为 body onload      更新时间:2023-09-26

我有一个xsl,我正在客户端将其转换为html。由于我需要等待整个javascript加载,因此我给出了:

         <body onload="setTimeout(MyInitializeFunction, 1000);"

这适用于其他浏览器,但IE不支持setTimeout。所以在谷歌搜索后,我发现解决方案是将其封装在如下函数中:

        <body onload= "setTimeout(function(){MyInitializeFunction();}, 1000);"

错误:现在它说MyInitializeFunction是一个未知的XSLT函数。注意:在将xml文件封装在CDATA中后,我尝试过读取该文件,但没有用。

body onload='&lt;xsl:value-of select="teststrings/MyInitializeFunctionVariable" disable-output-escaping="yes" /&gt'

这应该很简单,但我缺少的是什么??????Plz帮助人们。。。。。

您需要加倍大括号:<body onload= "setTimeout(function(){{MyInitializeFunction();}}, 1000);">,这应该可以解决XSLT的问题。为什么你认为在带有Javascript的IE中setTimeout(MyInitializeFunction, 1000)不起作用,而setTimeout(function() {MyInitializeFunction();}, 1000)应该起作用?我不确定,两个调用都向setTimeout传递了一个函数对象。在非常旧的浏览器中,您只能传递带有代码的字符串,如setTimeout('MyInitializerFunction();', 1000),这样可能更容易修复任何Javascript错误。