gpt4 book ai didi

javascript - 从 C# 代码调用位于 WPF WebBrowser 控件中的 Javascript 函数时出错

转载 作者:搜寻专家 更新时间:2023-11-01 04:29:25 25 4
gpt4 key购买 nike

基于 this解决方案 我尝试调用位于我的 WebBrowser 控件中的 JavaScript 函数。 .xaml 看起来像这样

<Grid>
<WebBrowser x:Name="browser"/>
</Grid>

但是这段代码都没有

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();
}

错误

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''mshtml.HTMLDocumentClass' does not contain a definition for 'myfunc''

也不是本准则

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

错误

System.Runtime.InteropServices.COMException: 'Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))'

工作。

我错过了什么?

最佳答案

试试这个:

browser.NavigateToString("<html><script>function callMe() {alert('Hello');} document.myfunc = callMe;</script><body>Hello World</body></html>");
browser.LoadCompleted += (s,e) => browser.InvokeScript("callMe");

关于javascript - 从 C# 代码调用位于 WPF WebBrowser 控件中的 Javascript 函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43633746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com