代码之家  ›  专栏  ›  技术社区  ›  Gabe

使用Firefox在Silverlight中执行javascript

  •  3
  • Gabe  · 技术社区  · 15 年前

    我正在尝试在我的Silverlight应用程序中执行一段javascript。 我创造了一个非常简单的例子…只需一个按钮就可以执行 这行代码…

    private void Button_Click(object sender, RoutedEventArgs e)
    {
       HtmlPage.Window.Eval("alert('hi');");
    }
    

    警报窗口确实出现了,但它冻结了火狐,我不得不强制退出火狐,它再也不会恢复生机……有人碰到这个吗??

    我认为可能是火狐插件导致了这个问题,但我已经用相同的结果禁用了所有插件。

    我唯一的办法就是去 about:config 在firefox和set中 dom.ipc.plugins.enabled.npctrl.dll 到 false

    有什么想法吗????

    1 回复  |  直到 15 年前
        1
  •  2
  •   Gabe    15 年前

    好吧,我想我部分地理解了…

    我将此参数添加到我的Silverlight宿主页…

    <param name="windowless" value="true" />
    

    所以整个 <div>

     <div id="silverlightControlHost">
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
            width="100%" height="100%">
            <param name="source" value="ClientBin/JavascriptSLTrigger.xap" />
            <param name="onError" value="onSilverlightError" />
            <param name="background" value="white" />
            <param name="minRuntimeVersion" value="4.0.50826.0" />
            <param name="windowless" value="true" />
            <param name="autoUpgrade" value="true" />
            <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration: none">
                <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight"
                    style="border-style: none" />
            </a>
        </object>
        <iframe id="_sl_historyFrame" style="visibility: hidden; height: 0px; width: 0px;
            border: 0px"></iframe>
    </div>