本文目录一览:
- 1、CWebBrowser2用JS操作HTML代码,该怎么处理
- 2、c#的webbrowser调用本地javascript脚本?
- 3、请教:如何在Delphi 的 Webbrowser 里 调用或执行 JS 带参 函数或过程?
- 4、C# webbrowser 里如何调用网页里的js函数?
- 5、webbrowser 执行网页中的JS
CWebBrowser2用JS操作HTML代码,该怎么处理
JS输入输出HTML代码有2种方式:
1、在需要输出的的位置写JS代码:scriptdocument.write('需要输出的内容')/script
比如:
ul
scriptdocument.write('lia href="/wap2/newsPage/1320"5/a/lilia href="/wap2/newsPage/1319"4/a/lilia href="/wap2/newsPage/1318"3/a/lilia href="/wap2/newsPage/1317"2/a/lilia href="/wap2/newsPage/1316"1/a/li');
/script
/ul
2、采用js的innerHTML方法:
例子;
ul id="ul"/ul
script
document.getElementById("ul").innerHTML='lia href="/wap2/newsPage/1320"5/a/lilia href="/wap2/newsPage/1319"4/a/lilia href="/wap2/newsPage/1318"3/a/lilia href="/wap2/newsPage/1317"2/a/lilia href="/wap2/newsPage/1316"1/a/li';
/script
c#的webbrowser调用本地javascript脚本?
你好!
你的意思是调用你自己写的JS文件,而不是链接过去页面里面的脚本对吧!
其实你可以换个思路的。
webBrowser1.Navigate();
webBrowser1链接这个网页后,它的DocumentText 里面就有内容了。这个时候你可以把你的脚本动态写到网页上去的。示例:
webBrowser1.DocumentText + = " script type='text/javascript'function Alert_{ alert('hello world');} /script";
然后再使用方法webBrowser1.Document.InvokeScript("Alert_");调用即可
如果是本身存在的脚本,直接用上面的方法就行了。
请教:如何在Delphi 的 Webbrowser 里 调用或执行 JS 带参 函数或过程?
在 delphi 里,使用 WebBrowser 执行 js 代码,参阅以下示例:
procedure TForm1.btn1Click(Sender: TObject);
var
doc:olevariant;
str:string;
begin
doc:=wb1.Document;
//执行js
wb1.OleObject.document.parentWindow.execScript('zbxxcx("50E13DA0-728B-455E-89EC-18B71477C47E")','JavaScript');
end;
C# webbrowser 里如何调用网页里的js函数?
webBrowser1.Navigate("javascript:alert('hello');");
说明
webBrowser1.Navigate("javascript:[你要执行的javascript语句];");
如果你要执行那个函数代码如下:
webBrowser1.Navigate("javascript:test.work('1','0','5');");
webbrowser 执行网页中的JS
在界面上拖入QAxWidget并指定控件为{8856F961-340A-11D0-A96B-00C04FD705A2},这个值可以通过OleView.exe查到然后通过IHTMLWindow2接口的execScript方法执行Java
在界面上拖入QAxWidget,注意这里不建议直接在UI设计界面指定控件,否则可能引起QtCreator崩溃
建议在代码中动态设置,如:
ui-axWidget-setControl("Shell.Explorer"); ui-axWidget-dynamicCall("Navigate(QString)", "C:/1.html");当然,上面的"C:/1.html"是我测试的页面
这里的办法是通过IHTMLWindow2接口的execScript方法执行JavaScript函数。可惜的是这个方法不支持函数返回值
#include MsHTML.h { QAxObject *document = ui-axWidget-querySubObject("Document"); IHTMLDocument2 *doc2; document-queryInterface(QUuid(IID_IHTMLDocument2), (void**)doc2); if (doc2) { IHTMLWindow2 *win2 = nullptr; if (doc2-get_parentWindow(win2) == S_OK) { BSTR s1 = SysAllocString(L"Test()"); BSTR s2 = SysAllocString(L"JavaScript"); VARIANT ret; win2-execScript(s1, s2, ret); SysFreeString(s2); SysFreeString(s1); } } }
JavaScript函数如下
script language="javascript" type="text/javascript" function Test() { alert("你调用了全局函数Test"); } /script