我有一个xsl,我在客户端转换为html。因为我需要等待整个javascript加载因此我给了:
<body onload="setTimeout(MyInitializeFunction, 1000);"
这适用于其他浏览器,但IE不支持setTimeout.So谷歌搜索后我发现解决方案是将其包装在这样的函数内:
<body onload= "setTimeout(function(){MyInitializeFunction();}, 1000);"
错误:现在它说MyInitializeFunction是一个未知的XSLT函数。 注意:我已经尝试将其封装在CDATA中后从xml文件中读取,但没有用。
body onload='<xsl:value-of select="teststrings/MyInitializeFunctionVariable" disable-output-escaping="yes" />'
它应该很简单但是我缺少的是什么?????? Plz帮助人们......
答案 0 :(得分:0)
你需要加倍括号:<body onload= "setTimeout(function(){{MyInitializeFunction();}}, 1000);">
,这应该解决XSLT的问题。为什么你认为使用Javascript setTimeout(MyInitializeFunction, 1000)
的IE在setTimeout(function() {MyInitializeFunction();}, 1000)
应该工作时不起作用我不确定,两个调用都将函数对象传递给setTimeout
。在非常旧的浏览器中,您只能传递包含代码的字符串,如setTimeout('MyInitializerFunction();', 1000)
中所示,因此可能更有可能修复任何Javascript错误。