基于 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/