0

我的 WPF 应用程序 (System.Windows.Controls.WebBrowser) 中有一个 WebBrowser 实例。在网站中,我有以下 JavaScript 代码。

// Javascript   
myNamespace = {};
myNamespace.helloJavaScriptMETHOD = function() { alert("Hello"); };

helloJavaScriptFUNCTION = function() { alert("Hello); };

我可以调用 helloJavaScriptFUNCTION

// C#
webBrowser.InvokeScript("helloJavaScriptFUNCTION");

如何在不更改网站/JavaScript 的情况下调用 helloJavaScriptMETHOD?我尝试了以下但没有成功:

// C#
webBrowser.InvokeScript("myNamespace.helloJavaScriptMETHOD");
webBrowser.InvokeScript("(function(){ return myNamespace.helloJavaScriptMETHOD; })");
webBrowser.InvokeScript("myNamespace.helloJavaScriptMETHOD()");
4

1 回答 1

0

您可能无法直接在命名空间中调用 JavaScript 方法,但可以使用eval. 类似的技术被用于调用 JQuery。查看如何使用 InvokeScript() 从 .NET WebBrowser 控件调用 jQuery 函数?. 它使用了错误的控制,但该技术可能在这里起作用。

于 2012-09-06T14:36:51.313 回答