试图访问silverlight内容时Javascript崩溃

试图访问silverlight内容时Javascript崩溃,javascript,silverlight,crash,Javascript,Silverlight,Crash,我有一个包含silverlight控件的web应用程序。当访问包含silverlight控件的特定页面时,会执行一个javascript,如果该脚本执行得太早,则该脚本会使IE中的javascript引擎崩溃,甚至连try/catch都无法处理该错误 简单javascript silverlightHtmlElement.Content.SilverlightApplication.SilverlightMethod(); 如果silverlight控件元素没有被完全加载,脚本就会崩溃,不仅脚

我有一个包含silverlight控件的web应用程序。当访问包含silverlight控件的特定页面时,会执行一个javascript,如果该脚本执行得太早,则该脚本会使IE中的javascript引擎崩溃,甚至连try/catch都无法处理该错误

简单javascript

silverlightHtmlElement.Content.SilverlightApplication.SilverlightMethod();
如果silverlight控件元素没有被完全加载,脚本就会崩溃,不仅脚本会崩溃,页面上根本不会执行更多的javascript

一个简单的“
if(silverlightHtmlElement.Content.SilverlightApplication)
”来检查its的可访问性是否足以导致崩溃

问题是我以后无法在页面上执行脚本。
其他人以前见过吗?

您可以编写一些Silverlight代码,在javascript函数完成初始化后执行它。这样,您的silverlight应用程序可以在完成加载后通知网页

HtmlPage.Window.Invoke("myJsFunction", null);

您可以编写一些Silverlight代码,在javascript函数完成初始化后执行它。这样,您的silverlight应用程序可以在完成加载后通知网页

HtmlPage.Window.Invoke("myJsFunction", null);

您需要确保在控件处于活动/加载状态之前不会执行代码,请将此参数添加到silverlight对象标记:

<param name="onLoad" value="pluginLoaded" />

然后,您可以将对该方法的调用添加到已加载的事件处理程序中,或查询app变量的null值以查看其是否已就绪。

您需要确保在控件处于活动/加载状态之前不会执行代码,请将此参数添加到silverlight对象标记中:

<param name="onLoad" value="pluginLoaded" />
然后,您可以将对该方法的调用添加到加载的事件处理程序中,或者查询app变量的null值以查看其是否就绪