C#与javascript交互
1. 在Form中,要让WebBrowser控件中的页面执行一段js代码,可以运行以下代码:
IHTMLDocument2 doc2 = (IHTMLDocument2)webBrowser.Document.DomDocument;
if (doc2 != null)
{
if (doc2.parentWindow != null)
{
doc2.parentWindow.execScript(js_code, "javascript");
}
}
2. 要在javascript代码中,修改Form窗体中的变量,或是调用它的方法,得先把这些变量和方法的定义修改成public的。
如,在Form中有个方法是public Form.BeginDownloadPage(String[] urls)
则在javascript代码中,在构造好下载链接后,通过window.external.BeginDownloadPage(String[] urls),就可以把参数传到外部的窗口函数中,交给外部的API来处理。
3.另外要注意,需要在初始化代码中,加入一个属性设置
给 webBrowser1设置属性如下:
webBrowser1.ObjectForScripting = this;
4. 窗体类前增加以下设置:
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
分享到:
相关推荐
一个在HTML中使用Javascript的window.external调用C#内函数的示例程序。该方法可应用于网页程序开发中的网页-程序沟通,例如用C#的IHTMLWindow2.execScript替换HTML默认Javascript方法使其直接与C#传参、通讯。
我们可以在 JavaScript 代码中使用 window.external 对象来调用 .NET 方法。 例如,在下面的 JavaScript 代码中,我们使用 window.external 对象来调用名为 ExecuteExitSrc 的 .NET 方法: window.external....
开发者首先通过测试代码验证了问题,发现在IE浏览器中`window.external.AddFavorite`正常工作,而在360浏览器中,`window.external`对象是未定义的,无法调用`AddFavorite`方法。尝试通过判断`window.external`是否...
示例代码:<a href="javascript:window.external.AddFavorite('http://oh.jilinfarm.com', '胡明新的个人主页')">添加到收藏夹 2. 整理收藏夹命令的实现 使用 window.external.showBrowserUI("OrganizeFavorites",...
在JavaScript中,这个功能通常通过调用浏览器的`window.external.AddFavorite()`方法来实现,但这个方法仅适用于IE浏览器。在Firefox和其他不支持此方法的浏览器中,我们需要使用其他方式。 1. 对于IE浏览器,你...
window.external.CSharpMethod("参数"); ``` 此外,`WebBrowser`控件还支持其他高级特性,如导航事件、身份验证处理、Cookie管理等,可以帮助我们构建更复杂的交互逻辑。 总结起来,Winform窗体中嵌入网页并与JS...
这种技术允许开发者在Web页面或者浏览器扩展中使用C++编写的高性能代码,同时又能利用JavaScript进行用户界面的交互和控制。下面我们将详细探讨这个主题。 1. **COM组件对象模型**:COM是微软提出的一种二进制标准...
首先,要在Delphi中调用JavaScript函数,你需要一个能够解析和执行JavaScript代码的引擎。例如,可以使用开源的Chromium Embedded Framework (CEF) 或者CEFSharp,它们都包含了一个内建的V8 JavaScript引擎。一旦...
从给定的文件信息中,我们可以提取出一系列与JavaScript编程相关的知识点,这些代码片段涵盖了从基本功能到较为复杂的页面操作,下面将逐一解析。 ### 1. 收藏当前页面 ```javascript function bookmarkit() { ...
2. 调用C#方法:在JavaScript中,可以使用`window.chrome.webview`对象的`call`方法来调用C#方法。假设我们有一个名为`addNumbers`的C#方法,接受两个整数参数并返回它们的和,JavaScript代码可能如下: ```...
### 网页脚本(JavaScript)调用VB函数的另类方法 #### 方法概述 在常规场景下,想要从网页脚本(如JavaScript)调用VB...需要注意的是,在实际应用过程中还需考虑到安全性和兼容性问题,确保代码的安全可靠运行。
在HTML页面中,我们利用JavaScript代码调用window.external的函数,比如window.external.getCoordinate(),这个函数会在MFC的自定义Site类中捕获,并进行相应的处理。这个处理过程涉及的C++代码需要实现IDispatch...
在提供的代码示例中,我们有两个函数 `open1` 和 `open2`,它们都使用 `window.open` 来打开不同的页面,但都指定了相同的窗口名称 `"aaa"`: ```javascript function open1() { window.open("html01.html", "aaa...
新URL的格式是`javascript:void window.external.AddFavorite(url, title)`,其中`url`是页面地址,`title`是收藏夹中的显示标题。 以下是一个兼容多浏览器的示例: ```javascript function bookmarkPage() { ...
window.external.AddFavorite(location.href, document.title); ``` 这段代码将把当前页面添加到用户的收藏夹中。 - **`AddFavorite` 方法**:用于将当前页面添加到用户的收藏夹中。 - **`ImportExportFavorites` ...
- `window.external.AddFavorite()`:在某些浏览器中,允许将当前页面添加到收藏夹,参数分别为URL和标题。 7. **window.navigator对象**: - `window.navigator.appCodeName`:浏览器的内部代码名。 - `window....
这个按钮允许用户导入他们的浏览器收藏夹,调用`window.external.ImportExportFavorites(true)`,第一个参数为true表示导入。 8. **导出收藏**: 反之,这个按钮导出收藏夹,`window.external....
<a href="javascript:window.external.addFavorite('http://www.liqun.net', 'www.liqun.net');">添加书签 ``` **知识点解释:** 点击链接时,调用`window.external.addFavorite()`方法将当前页面添加到用户的收藏...
对于IE浏览器,收藏功能可以通过 `window.external.addFavorite()` 方法实现,这个方法接受两个参数:收藏的标题(title)和URL(url),例如: ```javascript window.external.addFavorite(url, title); ``` 而在...