最近找到了一个可替代webBrowser控件的好东西,名叫SBrowser,内核是chrome和safari,好像是苹果公司弄的。详见https://weolar.github.io/miniblink/doc-main.html
webBrowser控件是经典的浏览器控件,简单易用,但他是IE内核,遭诟病吐槽多多,尤其是不能支持Html5,版本差异较大,导致界面不容易做到统一等。而SBrowser控件则是chrome和safari内核,只是网上介绍的不多。摸索了一下,发现它访问网页的方法与webBrowser不太一样,浏览器与网页的交互可由RunJs方法完成。对比如下(以VFP语言为例):
webBrowser:
访问网页中的元素:
THISFORM.olellq.DOCUMENT.getElementById('txt1').value
执行js语句:
THISFORM.olellq.DOCUMENT.parentWindow.EXECSCRIPT('alert(“aaaaa”)','JavaScript')
SBrowser:
读取网页元素:
vstr=thisform.olellq.oBJECT.RunJs('return document.getElementById("txt1").value')
写入:
thisform.olellq.oBJECT.RunJs('document.getElementById("txt1").value="aaa"')
执行js语句:
thisform.olellq.oBJECT.RunJs('alert("aaaaa")')
看起来,SBrowser显得更加灵活一些。
示例源码下载地址:https://download.youkuaiyun.com/download/gxbsdzf/88675396