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似乎为空,并且我收到以下错误消息:

内容»:空对象或未定义

知道吗?

谢谢你的帮助。

IE 9出现Javascript问题

我终于解决了这个问题:

Firefox、Chrome和IE9在计时器方面有不同的行为!

我的RefreshTimer方法调用得太早,PluginLoaded方法无法很快调用以初始化silverlightControl对象!

因此,我这样做纠正了:

function CallSilverlight() 
{
  if(silverlightControl != null)
  {
    silverlightControl.Content.SilverlightScriptableObject.PerformRfidRead(); //**2**  
  }
}

希望这能帮助到别人。。。