c# - 我可以在未在 header 元素中定义的 JavaScript 函数上使用 WebBrowser.Document.InvokeScript 吗?

标签 c# php javascript .net-4.0 webbrowser-control

对于我可能使用的任何用词不当,我立即表示歉意。

我有一系列由 PHP 生成的网页,我正在使用 WebBrowser 控件对其进行操作。这些页面定义了嵌入在正文中的 JavaScript 函数(这对我来说很愚蠢,我没有编写它们,我只需要使用它们)。

是否可以使用 Document.InvokeScript 方法访问这些函数?如果不能,我该如何访问它们?

最佳答案

Windows 窗体的实现使用 IDispatch.GetIDsOfNames 来查找 top level named items 中函数名称的精确匹配。 script engine的。对于 MSHTML 的 JScript 实现 active script interfaces ,顶级命名项是

您实际上并不需要向脚本引擎添加新的命名项(如果您确实愿意,可以通过 IDispatchEx 执行此操作),例如,有多种方法可以使用现有命名项执行代码

您可以使用上述之一作为要在 HtmlDocument.InvokeScript 中调用的脚本方法的名称,并在其他参数中传递代码。

关于c# - 我可以在未在 header 元素中定义的 JavaScript 函数上使用 WebBrowser.Document.InvokeScript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14507181/

相关文章:

javascript - 如何获取 Bootstrap 模式的数据并发送 PHP

javascript - CodeMirror - 语言自动检测

javascript - 如何使用正则表达式在字符串中间加1

c# - C# 中的正则表达式组

c# - 调试符号未加载到针对 .NET Framework 的 .NET 标准项目中

php - MySQL 真正的转义字符串

javascript - Highcharts 区域填充

C# 二进制常量表示

c# - 如何知道 MVVM 绑定(bind)属性的内部属性何时被修改?

php - mysqli_real_escape_string 是否进行客户端-服务器往返?