delphi中Webbrowser的使用技巧

【老生谈算法】可视化通道流中瞬时涡量场的算法实现与MATLAB源码分析——瞬时涡量场 本文旨在探讨可视化通道流中瞬时涡量场的方法,并通过MATLAB编程实现这一过程。涡量场作为描述流体旋涡强度和方向的重要物理量,对于理解复杂流体运动具有重要意义。本文首先介绍了涡量场的基本概念,随后详细阐述了从测量数据收集到涡量场可视化的完整流程,并给出了相应的MATLAB源码。通过实际运行该源码,我们展示了涡量场的可视化结果,并讨论了其在流动结构识别和动力学行为理解中的应用。关键词: 涡量场;流体运动;MATLAB;可视化;PIV一、引言。 阅读详情

1.获取网页中变量的值
   例如:htm中<script> var currIDS=123</script>
     程序中可以这样调用 id := Form 1.WebBrowser1.OleObject.Document.script.currIDS
     备注:变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowser1中找不到该变量,调用会触发一个异常事件 ,即变量currIDS不存在。

2.执行网页中的函数
     tmpf := 'currID = getNextID(currID)'+#13#10;
     Form 1.WebBrowser1.OleObject.Document.parentWindow.execScript(tmpf,'JavaScript');
     调用函数的方法就是execScript接口,同样,如果函数不存在,或者运行错误也会触发脚本错误异常

3.设置网页背景
     背景图片 WebBrowser1.OleObject.Document.body.background     := 'http://seelearn.com/bg.gif'  ;
     背景颜色 WebBrowser1.OleObject.Document.body.bgcolor     := '#eeeeee'

4.调用网页中已知对象
     src := WebBrowser1.OleObject.Document.getElementByID('img1').src
     该方法其实就是javascript中的 getElementByID  

5.获取页面中所有的frame
     使用DHTML。
     frames:=wb.OleObject.document.frames;
     for i:=0 to frames.length do
     memo1.lines.Add(frames[i].document.body.innerHTML);

6.BorderStyle=bsNone后Webbrowser会被重新初始化
     这是一个让人很意外的一个问题,Delphi在窗口控件 的控制方面做得非常好,很少出现这种BUG
     根据分析,出现这个现象有很多情况 改变Form Style也会出现 ; 如果     webbrowser.parent     由panel1     改到panel2.也会导致webbrowser重新初始化。

7.直接向Webbrowser中写入html代码 ,不需要Navigate到实际存在的文件
     var
     StrStream:TStringStream;
     SetNoteStr: string;
     begin
   SetNoteStr :='<body bgcolor=222222 align=center><br><p align=center><font size=+2 color=#FFFFFF>点点博客 http://seelearn.com</font></p>' ;
   SetNoteStr :=SetNoteStr+'<br><p align=center><font size=+2 color=#FFFFFF>点击左边按钮可查看对应图片</font></p>';
   StrStream:=TStringStream.Create(SetNoteStr);
   WebBrowser1.Navigate('about:blank');
   try
     StrStream.Position:=0;
     ( WebBrowser1.Document as IPersistStreamInit).Load(TStreamadapter.Create(StrStream));
   finally
     StrStream.Free;
   end;

8.前进,后退,刷新
     self.WebBrowser1.GoBack
     self.WebBrowser1.GoForward
     self.WebBrowser1.Refresh

9.捕捉NewWindow2事件 ,即新开窗口事件
     procedure TForm 1.WebBrowser1NewWindow2(Sender: TObject;
   var ppDisp: IDispatch; var Cancel: WordBool);
var
   NewWindow: TForm 2;
begin
   //exit;
   NewWindow:= TForm 2.Create(nil);
   NewWindow.Show;
   ppDisp:= NewWindow.Webbrowser1.DefaultDispatch;
end;
   值得一题的是该方法不能获得新开窗口的URL,退一步的方法只能是等到在新的Webbrowser中触发BeforeNavigate2事件 判断了

10.网页中存在iframe时判断页面是否下载结束
       procedure TForm 1.WebBrowser1DocumentComplete(Sender: TObject;
   const pDisp: IDispatch; var URL: OleVariant);
begin
     if WebBrowser1.Application = pDisp then showmessage('页面已全部下载完毕')
end;

     备注:每个iframe下载完毕都会触发DocumentComplete事件 ,所以一个页面在真正下载完毕前可能被触发多次

基于STM32F4XX 、HAL库的GXHT30C温湿度传感器驱动应用C语言程序设计 define GXHT30C_STATUS_WRITE_CHK (1 << 0) // 写数据校验状态。#define GXHT30C_STATUS_HUMI_TRACK (1 << 11) // 湿度跟踪报警。#define GXHT30C_STATUS_TEMP_TRACK (1 << 10) // 温度跟踪报警。#define GXHT30C_STATUS_CMD_STATUS (1 << 1) // 命令执行状态。 阅读详情

相关推荐

delphi 调用google chrome浏览器, Chromium(CEF3)组件最新版本

delphi 调用google chrome浏览器, Chromium(CEF3)组件最新版本,可代替webbrowser浏览器, 支持html5,与UC/360浏览器同等内核,是开发WEB终端显示最好用的浏览器组件、支持DELPHI7 DELPHI2010 XE2,XE10 ,XE8 等

TMSSOFTWARE公司的TMS FMX UI Pack 产品中的chrome组件的用法(TMSFMXWebBrowser)(firemonkey)

除了CEF4Delphichrome组件以外,tms的TMS FMX UI Pack中也有类似的组件,下面是安装和使用方法: 1、下载:http://www.tmssoftware.biz/download/ChromiumFMX.zip 2、安装: 1)打开dpk文件 2)compile 后 install 3)设置tools-...

Winfredzhang的博客 1709

DELPHI+chrome+替换WebBrowser让你的程序嵌入chrome浏览器.zip

DELPHI+chrome+替换WebBrowser让你的程序嵌入chrome浏览器,此控件非常方便的让你的程序内置chrome浏览器,解决老webbrowser的各种问题,非常方便。Chrome不挑食,基本上什么系统都可以跑,而且速度那是飞快,所以C/S程序调用第三方的B/S程序或者网页时都考虑使用支持最新H5技术的内核,而Delphi的浏览控件那真心是不支持很多新的东西,而且还是微软的内核,各种的水士不符,没有办法只能想其他办法。

DelphiWebBrowser使用技巧汇总

DelphiWebBrowser使用技巧汇总 博客分类: delphi delphiWebBrowser 1>调用网页中已知对象 src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src其实就是javascript中的 getElementByID 的函数 2&gt...

diaowojian9497的博客 195

DelphiWebbrowser使用技巧

1>调用网页中已知对象 src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src其实就是javascript中的 getElementByID 的函数 2>获得网页中的某个变量值 Html中的代码 : <script> var userID=123</script&gt...

dengse6510的博客 354

delphi WebBrowser使用技巧

1>调用网页中已知对象 src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src 其实就是javascript中的 getElementByID 的函数 2>获得网页中的某个变量值 Html中的代码 : var userID=123 在delphi程序中这么调用 id := Form1.Web

文子的专栏 832

DelphiWebBrowser使用技巧汇总大全

DelphiWebBrowser使用技巧汇总大全 1>调用网页中已知对象 src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src 其实就是javascript中的 getElementByID 的函数 2>获得网页中的某个变量值 Html中的代码 : var userID=123 在delphi程序中这么调

csdnprl2015的专栏 671

Webbrowser技巧

 1.获得网页中变量值       htm中 var currID=123       程序中可以这么调用 id := Form1.WebBrowser1.OleObject.Document.script.currID       值得说明的是,变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowser1中找不到该变量,调用会触发一个异常事件,

hui717的专栏 1026

头歌Chcore操作系统实验.docx

上海交通大学头歌实践教学平台操作系统Chcore实验二、三通关操作

上一篇: TIdTCPClient控件中文指南(转)
下一篇: CORBA 入门
longma2006
博客等级 码龄20年 22粉丝 26原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值