在WebBrowser控件中,窗口.外部不可用
本文关键字:外部 窗口 WebBrowser 控件 | 更新日期: 2023-09-27 18:15:47
我想在WebBrowser控件中调用c#方法。下面是我的代码:
在XAML<phone:WebBrowser Margin="0,0,0,0" Name="WebBrowserForDetails" VerticalAlignment="Top" Height="300" ScriptNotify="WebBrowserForDetails_ScriptNotify" IsScriptEnabled="True" />
在c# ,
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string html = string.Format("<html><head><title></title><script type='"text/javascript'">{0}</script></head><body><button onclick='"call();'">Push</button>", "function call(){ window.external.notify(123) ;}");
WebBrowserForDetails.NavigateToString(html);
}
private void WebBrowserForDetails_ScriptNotify(Object sender, NotifyEventArgs e)
{
Debug.WriteLine(e.Value);
}
期望在调试窗口中看到123
。
当<button>Push</button>
被推送时,window.external.notify
永远不会被调用。实际上window.external
是不可用的。我想从WebBrowser控件调用window.external.notify
函数来调用WebBrowserForDetails_ScriptNotify
方法。我该怎么办?
编辑
参考链接:MSDN: window.external.notify
,有没有办法设置WP7浏览器控制高度动态和锁定滚动?在Windows Phone 7中显示HTML内容
我怀疑你的问题是由于没有提供有效的HTML5文档作为你的(body &
你的代码似乎是正确的,但是window.external.notify()方法是字符串参数,而不是整数。请尝试调用window.external.notify('123')。
首先你可能想读一下Mike Taulty对离线浏览器内容的评论。
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/06/22/silverlight-html-and-the-webbrowser-control-for-offline-apps.aspx