IE 9出现Javascript问题
本文关键字:问题 Javascript 9出现 IE | 更新日期: 2023-09-27 18:27:00
在C#,Asp.net中,我正在通过我的代码背后创建Javascript代码:
var silverlightControl = null;
function PluginLoaded(sender, args)
{
silverlightControl = sender.getHost();
silverlightControl.Content.SilverlightScriptableObject.PerformRfidRead(); //**1**
}
function CallSilverlight()
{
silverlightControl.Content.SilverlightScriptableObject.PerformRfidRead(); //**2**
}
var tid = setInterval(RefreshTimer, 2000);
function RefreshTimer()
{
CallSilverlight();
}
它在Firefox和Chrome上运行得很好,但在IE 9上似乎无法运行!PluginLoaded方法总是被正确调用。但我的"silverlightControl"var似乎在方法调用之间失去了值。。。
当在sender.getHost()之后直接调用我的方法"PerformRfidRead()"时(参见1),一切正常。当让计时器每2秒进行一次调用时(参见2),我的var似乎为空,并且我收到以下错误消息:
内容»:空对象或未定义
知道吗?
谢谢你的帮助。
我终于解决了这个问题:
Firefox、Chrome和IE9在计时器方面有不同的行为!
我的RefreshTimer方法调用得太早,PluginLoaded方法无法很快调用以初始化silverlightControl对象!
因此,我这样做纠正了:
function CallSilverlight()
{
if(silverlightControl != null)
{
silverlightControl.Content.SilverlightScriptableObject.PerformRfidRead(); //**2**
}
}
希望这能帮助到别人。。。