如何允许webbrowser运行脚本
2个回答
推荐于2017-12-15 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517188
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
控制WebBrowser实际上就是控制IE,最简单的方法就是执行javascript或vbscript,省去了接口的转换。
如何执行脚本?以前我一直用mshtml中IHTMLWindow2接口的execScript()方法,在Delphi中需要uses MSHTML单元:
uses MSHTML;
procedure TForm1.Button1Click(Sender: TObject);
begin
(WebBrowser1.Document as IHTMLDocument2).parentWindow.execScript(
'alert("hello");', 'javascript')
end;
在CSharp中则需要在工程添加Micrsoft.mshtml,后来得到在地址栏执行脚本的启发。用WebBrowser的Navigate()方法更简单:
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('javascript:alert("hello");')
end;
省去了添加引用的麻烦。
如何调用外部的方法?先看一段在IE中添加收藏夹的代码:
window.external.AddFavorite(url, title);
脚本中window.external对象就是一个外部对象,AddFavorite()则是这个外部对象的方法!
查了一下资料,原来可以通过IDocHostUIHandler接口的GetExternal()方法,指定脚本的外部对象。
在CSharp中更简单,有WebBrowser.ObjectForScripting属性直接对应window.external
如何执行脚本?以前我一直用mshtml中IHTMLWindow2接口的execScript()方法,在Delphi中需要uses MSHTML单元:
uses MSHTML;
procedure TForm1.Button1Click(Sender: TObject);
begin
(WebBrowser1.Document as IHTMLDocument2).parentWindow.execScript(
'alert("hello");', 'javascript')
end;
在CSharp中则需要在工程添加Micrsoft.mshtml,后来得到在地址栏执行脚本的启发。用WebBrowser的Navigate()方法更简单:
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('javascript:alert("hello");')
end;
省去了添加引用的麻烦。
如何调用外部的方法?先看一段在IE中添加收藏夹的代码:
window.external.AddFavorite(url, title);
脚本中window.external对象就是一个外部对象,AddFavorite()则是这个外部对象的方法!
查了一下资料,原来可以通过IDocHostUIHandler接口的GetExternal()方法,指定脚本的外部对象。
在CSharp中更简单,有WebBrowser.ObjectForScripting属性直接对应window.external
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
展开全部
可以用啊,直接调用JS函数投票即可!
引用mshtml;
IHTMLDocument2 doc2 = WB1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 win2 = doc2.parentWindow as IHTMLWindow2;
win2.execScript("vote(500895)", "javascript"); //投“南昌铁路公安局发布”
引用mshtml;
IHTMLDocument2 doc2 = WB1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 win2 = doc2.parentWindow as IHTMLWindow2;
win2.execScript("vote(500895)", "javascript"); //投“南昌铁路公安局发布”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询