相关疑难解决方法(0)

WPF - 调用javascript函数时出错 - 未知名称.(来自HRESULT的异常:0x80020006(DISP_E_UNKNOWNNAME))

我在我的wpf应用程序中使用"WebBroswer"来呈现Google地图.所以我用我的c#代码调用一些参数的Pan(x,y)JavaScript方法.

但我得到以下错误.

名字不明.(来自HRESULT的异常:0x80020006(DISP_E_UNKNOWNNAME))

我的Window2.xaml文件:

<Window x:Class="Test.Window2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window2" Height="300" Width="300">
    <Grid>
        <WebBrowser Name="mapBrowser" Margin="50" />
        <Button Name="button1" VerticalAlignment="Bottom" Click="button1_Click">Button</Button>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

我的Window2.xaml.cs文件:

namespace Test
{
    /// <summary>
    /// Interaction logic for Window2.xaml
    /// </summary>
    public partial class Window2 : Window
    {
        public Window2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Uri uri = new Uri(@"pack://application:,,,/HTMLPage1.htm");
            Stream source = Application.GetContentStream(uri).Stream;
            mapBrowser.NavigateToStream(source);
            this.mapBrowser.InvokeScript("Pan", x, y);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的HTML页面:

<html>
<head>
    <title></title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

    <script …
Run Code Online (Sandbox Code Playgroud)

javascript browser wpf google-maps wpf-controls

6
推荐指数
1
解决办法
6196
查看次数

从C#代码调用位于WPF WebBrowser Control中的Javascript函数时出错

基于解决方案,我试图调用位于我的WebBrowser控件中的JavaScript函数.在.xaml这个样子的

<Grid>
    <WebBrowser x:Name="browser"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

但这个代码都没有

public MainWindow()
{
   InitializeComponent();
   browser.NavigateToString("<html><script>function callMe() {alert('Hello');} document.myfunc = callMe;</script><body>Hello World</body></html>");
   dynamic doc = browser.Document;
   doc.myfunc();
}
Run Code Online (Sandbox Code Playgroud)

错误

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:''mshtml.HTMLDocumentClass'不包含'myfunc''的定义

也不是本规范

public MainWindow()
{
    InitializeComponent();
    browser.NavigateToString("<html><script>function callMe() {alert('Hallo');}</script><body>Hello World</body></html>");
    browser.InvokeScript("callMe");
}
Run Code Online (Sandbox Code Playgroud)

错误

System.Runtime.InteropServices.COMException:'未知名称.(HRESULT异常:0x80020006(DISP_E_UNKNOWNNAME))'

做工作.

我错过了什么?

javascript c# wpf

5
推荐指数
1
解决办法
494
查看次数

标签 统计

javascript ×2

wpf ×2

browser ×1

c# ×1

google-maps ×1

wpf-controls ×1