我们在js中可以通过window.external.myfunc()来调用浏览器提供的外部方法myfunc。可以让网页内的js脚本中能调用C++代码。
window.external 是外部对象,如你写C# 本地程序放个 webbrowser ,嵌套个网页,
this.webBrowser1.ObjectForScripting = this; 就把当前窗口传递给javascript了
比如窗口中有 个函数叫 Test
public string Test(string jstr) {
//在这里写些操作
}
然后
在 html 里面,写 window.external.Test("1111");
就传递到,C# 写的本地程序面去了,所以你光看见这个函数很难看着这,是什么。
1.external.addDesktopComponent 把网站作为用户的Active桌面
语法:external.AddDesktopComponent(地址,类型[image/website],左距离,顶距离,宽度,长度)
function j_adc(){ //例子
window.external.addDesktopComponent("http://...","website",0,0,800,600);
}
2.external.addFavorite 把网站加入到用户的收藏夹
语法:external.addFavorite(网址,标题);
function j_af(){
window.external.addFavorite(location.href, document.title);
}
3.external.navigateAndFind 搜索指定网站中的某个字段
语法:external.navigateAndFind(文件地址,关键字,_Target)
<script language="javascript">
function j_an(){
window.external.navigateAndFind("http://...",gosearch.value,"");
}
</script>
4.external.showBrowserUI 调用语言选择窗口与收藏夹管理窗口
语法:external.showBrowserUI(类型[LanguageDialog/OrganizeFavorites], null)
<input type="button" name="Button" value="语言设置" onclick="window.external.ShowBrowserUI('LanguageDialog', null)">
<input type="button" name="Submit2" value="整理收藏夹" onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)">
5.external.importExportFavorites 导入与导出用户收藏夹
语法:external.importExportFavorites(导入/true 导出/false, 文件路径)
<input type="button" name="Button" value="导入收藏夹" onClick=window.external.ImportExportFavorites(true,"http://...");>
<input type="button" name="Button3" value="导出收藏夹" onClick=window.external.ImportExportFavorites(false,"http://...");>