[英]WPF Browser Control when using ObjectForScripting window.external.invoke() throws object doesn't support property or method
我正在嘗試從WPF瀏覽器控制網頁捕獲點擊事件。 我創建了一個ObjectForScriptingHelper類:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]
public class ObjectForScriptingHelper
{
public void Invoke()
{
MessageBox.Show("Hello");
}
}
在托管Web瀏覽器控件的WPF窗口的構造函數中,我使用這個幫助器類作為ObjectForScripting:
public MainWindow()
{
InitializeComponent();
StandardWpfBrowser.ObjectForScripting = new ObjectForScriptingHelper();
}
然后我有一個Uri變量ViewPageUri
,我導航到:
StandardWpfBrowser.Navigate(ViewPageUri);
然后在瀏覽器控件顯示的頁面中我引用了jquery,在html頁面添加了一個按鈕並添加了javascript:
$('button').click(function () {
if (window.external === null)
alert('ObjectForScripting is not set');
else
{
alert('ObjectForScripting is set');
window.external.Invoke();
}
})
正在執行else
分支,但錯誤消息object doesn't support property or method 'Invoke'
被拋出。
所有教程和MSDN文檔都遵循上述方法。 我錯過了什么嗎?
如果其他人有同樣的問題。 原來,命名方法Invoke
是問題所在。 一旦我更改了方法名稱,它就會按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.