DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tino0914
今日帖子: 30
在线用户: 4
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 bbzzjl (冷暖自知) ▲▲▲▲△ -
普通会员
2017/10/13 11:27:51
标题:
DELPHI 移动端的 TWebBrowser 如何获取网页源码? 浏览:2448
加入我的收藏
楼主: delphi  Windows 端 可以用 (WebBrowser1.Document AS IHTMLDocument2).body  来获取源码,  
.
开发移动端时 WebBrowser1 没有 Document 属性,  要怎么才能获取网页换吗? 或者有没有其他控件可以实现

请大神帮忙!!  在此谢过!!!
更多 0
----------------------------------------------
-
作者:
男 earthsbest (全能中间件) ▲▲▲▲△ -
普通会员
2017/10/16 8:42:59
1楼:
procedure TForm2.btn1Click(Sender: TObject);
var
  js: string;
begin
  js := 'var markup = document.body.innerHTML;'
    + 'var newURL = "http://1.1.1.1/" + markup;'
    + 'window.location = newURL;';
  WebBrowser1.EvaluateJavaScript(js);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  WebBrowser1.Navigate('http://www.2ccc.com');
end;

procedure TForm2.WebBrowser1ShouldStartLoadWithRequest(ASender: TObject;
  const URL: string);
var
  Source: String;
  FoundIndex: Integer;
begin
  FoundIndex := URL.IndexOf('http://1.1.1.1/');
  if FoundIndex > 0 then
  begin
    WebBrowser1.Height := 1;

    Source := URL.Substring(FoundIndex);
    Memo1.Lines.Text := TURLEncoding.URL.Decode(Source);

    TabControl1.ActiveTab := TabItemResult;
  end;
end;
此帖子包含附件:
PNG 图像
大小:457.7K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
男 mprjcf (mprjcf) ★☆☆☆☆ -
普通会员
2017/10/16 9:23:11
2楼: 牛呀,顶
----------------------------------------------
他们总是取笑失败者,以酷似智者;他们也总是为成功者喝采,以取得赏金。
作者:
男 bbzzjl (冷暖自知) ▲▲▲▲△ -
普通会员
2017/10/16 17:28:27
3楼: @1楼 大神, 为什么我按照你的代码搞 ,提示网页无法打开: http://1.1.1.1
此帖子包含附件:
PNG 图像
大小:73.0K
----------------------------------------------
-
作者:
男 earthsbest (全能中间件) ▲▲▲▲△ -
普通会员
2017/10/17 10:04:09
4楼: 源码
此帖子包含附件:earthsbest_201710171049.zip 大小:8.5K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
男 letianwuji (大器晚成) ▲▲▲▲▲ -
普通会员
2017/11/6 14:53:04
5楼: 这样都可以...那能过滤访问的网页部分源码嘛??
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2017/11/6 14:54:22
6楼: 楼上请用地球中国大陆的普通话九年义务教育语文重新描述一下你的问题。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 abencat (远离delphi的人) ★☆☆☆☆ -
盒子活跃会员
2019/2/26 15:30:01
7楼: win下无法读取到
----------------------------------------------
delphi爱好者
作者:
男 johnny161 (Garfield.cn) ★☆☆☆☆ -
普通会员
2023/8/14 21:46:21
8楼: 学到了,但,这样是不是长度有限制呀?
PS:只取源码的话,用IndyHttp组件也行。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/8/15 10:49:44
9楼: 在 Delphi 里面,对 WebBrowser 的处理,1 楼的方法是正解。

简单说,IHTMLDocument2 是 WINDOWS 提高的 COM 控件,Delphi 调用它而已。

跨平台,其它的平台当然不会有 IHTMLDocument2 这样的 WINDOWS 系统提供的东西。

IHTMLDocument2 提供的功能,多半可以用 JS 来实现。

用 JS 来实现 IHTMLDocument2 的功能,我之前做过一些实验性的代码,在这个论坛也提到过。我的博客里面有写:

https://blog.csdn.net/pcplayer/article/details/121223167
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行85.9375毫秒 RSS