搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ webbrowser能否直接运行html文本
标题:
webbrowser能否直接运行html文本
只看楼主
laowan001
等 级:
版主
威 望:
54
帖 子:802
专家分:1914
注 册:2015-12-30
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:21
webbrowser能否直接运行html文本
目前的做法是,通过下面的语句运行一个html文件
thisform.olecontrol1.navigate2(html文件名)
问题:能否不运行html文件,直接运行html文本?
搜索更多相关主题的帖子:
html
运行
文件
webbrowser
文本
2023-02-17 08:50
sam_jiang
等 级:
贵宾
威 望:
10
帖 子:542
专家分:781
注 册:2021-10-13
第
2
楼
得分:0
可以啊,本来就是ie内核,相当于自己的浏览器,实质就是ie。
刚没看懂你的意思~~~
你的意思是解析html文件的文本呗。。。
[此贴子已经被作者于2023-2-17 10:52编辑过]
2023-02-17 10:35
laowan001
等 级:
版主
威 望:
54
帖 子:802
专家分:1914
注 册:2015-12-30
第
3
楼
得分:0
以下是引用
sam_jiang
在2023-2-17 10:35:25的发言:
可以啊,本来就是ie内核,相当于自己的浏览器,实质就是ie。
刚没看懂你的意思~~~
你的意思是解析html文件的文本呗。。。
是的,就是想用html文本直接执行,而不用再调用一个文件
我不知道用什么方法,请指教
2023-02-17 11:04
sam_jiang
等 级:
贵宾
威 望:
10
帖 子:542
专家分:781
注 册:2021-10-13
第
4
楼
得分:0
没用过webbrowser控件,不是很清楚是否可以直接执行html文本,按理说是有这个功能的。(xml解析器就是可以执行XML文件,以及xml文本的)
有个笨办法,就是把你的HTML文本保存为临时文件,再执行这个临时html文件。
2023-02-17 12:05
laowan001
等 级:
版主
威 望:
54
帖 子:802
专家分:1914
注 册:2015-12-30
第
5
楼
得分:0
以下是引用
sam_jiang
在2023-2-17 12:05:32的发言:
没用过webbrowser控件,不是很清楚是否可以直接执行html文本,按理说是有这个功能的。(xml解析器就是可以执行XML文件,以及xml文本的)
有个笨办法,就是把你的HTML文本保存为临时文件,再执行这个临时html文件。
现在用的就是这个笨办法
2023-02-17 13:20
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
6
楼
得分:20
这样试试
2023-02-17 15:08
laowan001
等 级:
版主
威 望:
54
帖 子:802
专家分:1914
注 册:2015-12-30
第
7
楼
得分:0
方法1:
LOCAL xurl
xurl = "about:<html><body><pre>hello world</pre><body></html>"
thisform.olecontrol1.navigate2(xurl)
结果:可以显示 hello world
方法2:
xurl = FILETOSTR('D:/fj/pie-simple.html')
xurl = "about:<html><body><pre>"+xurl+"</pre><body></html>"
thisform.olecontrol1.navigate2(xurl)
结果:没有任何反应就结束了,窗口还是空白的
方法2的写法有问题吗?
2023-02-17 15:44
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
8
楼
得分:0
回复 7楼 laowan001
地址字符串长度有限制,本测试不能超过515个字符。
或者用脚本动态创建页面
2023-02-17 17:11
csyx
等 级:
版主
威 望:
29
帖 子:484
专家分:1827
注 册:2018-3-13
第
9
楼
得分:0
大概过程是这样:
Thisform.olecontrol1.Navigate('')
Thisform.olecontrol1.Navigate('about:blank')
Inkey(1)
Try
oDoc = Thisform.olecontrol1.Document
Catch
oDoc = Null
EndTry
If Vartype(oDoc) == 'O' and !IsNull(oDoc)
oDoc.Write('Hello world')
EndIf
由于导航到空白页是由 webbrowser 异步完成的,因此什么时候完成装载(能取到 Document 对象)时间不定,最好在 DocumentComplete 事件中写 html 字符串
[此贴子已经被作者于2023-2-17 17:45编辑过]
2023-02-17 17:28
laowan001
等 级:
版主
威 望:
54
帖 子:802
专家分:1914
注 册:2015-12-30
第
10
楼
得分:0
以下是引用
吹水佬
在2023-2-17 17:11:28的发言:
地址字符串长度有限制,本测试不能超过515个字符。
或者用脚本动态创建页面
515个肯定不够用
另:用脚本动态创建页面如何实现?我现在有已经有生成好的html文件
2023-02-17 21:23
22
1/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-511311-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.105159 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved