Javascript 是否可以从WebBrowser控件内部调用Windows Phone代码(即启动WebBrowserTask)?

Javascript 是否可以从WebBrowser控件内部调用Windows Phone代码(即启动WebBrowserTask)?,javascript,windows-phone-7,xaml,webbrowser-control,Javascript,Windows Phone 7,Xaml,Webbrowser Control,我有一些静态网页作为我的WindowsPhone7应用程序的一部分。但是,如果链接指向web上的非本地站点,则能够启动web浏览器,即调用WebBrowserTask,这将非常有用。另外,考虑到WebBrowser控件嵌入在XAML页面中,如果我可以(例如通过javascript)从WebBrowser控件中调用页面上的行为,那就太好了 这可能吗?据我所知,您需要在WP7浏览器中启动JavaScript。有一些安全限制。但大多数简单的东西都很有用。请查看WebbrowserControl上的“I

我有一些静态网页作为我的WindowsPhone7应用程序的一部分。但是,如果链接指向web上的非本地站点,则能够启动web浏览器,即调用
WebBrowserTask
,这将非常有用。另外,考虑到WebBrowser控件嵌入在XAML页面中,如果我可以(例如通过javascript)从WebBrowser控件中调用页面上的行为,那就太好了


这可能吗?

据我所知,您需要在WP7浏览器中启动JavaScript。有一些安全限制。但大多数简单的东西都很有用。请查看WebbrowserControl上的“InvokeScript”、IsScript Enable和“eval

public部分类主页:PhoneApplicationPage
{
公共主页()
{
初始化组件();
Wb.Navigated+=新事件处理程序(Wb_Navigated);
MouseLeftButtonDown+=新的MouseButtonEventHandler(主页_MouseLeftButtonDown);
Wb.NavigateToString(“”);
}
已导航无效Wb_(对象发送方,System.Windows.Navigation.NavigationEventArgs e)
{
Wb.InvokeScript(“eval”,“document.forms[0].submit();”;//80020101
}
private void主页\u MouseLeftButtonDown(对象发送器,MouseButtonEventArgs e)
{
Wb.InvokeScript(“eval”、“document.forms[0].submit();”);//有效
}
}

对于非本地任务,我发现拦截WebBrowser控件上的“导航”事件并检查e.Uri是否为绝对Uri确实起到了作用,但是在主机页中触发事件仍然很好……从C#到浏览器JS,这很好,是否有可能以相反的方式实现?
public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();

        Wb.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(Wb_Navigated);
        MouseLeftButtonDown += new MouseButtonEventHandler(MainPage_MouseLeftButtonDown);

        Wb.NavigateToString("<html><body><form action='http://google.com/'></form></body></html>");
    }

    void Wb_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
    {
        Wb.InvokeScript("eval", "document.forms[0].submit();"); // Throws 80020101
    }

    private void MainPage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        Wb.InvokeScript("eval", "document.forms[0].submit();"); // Works
    }
}