| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1603 人关注过本帖
标题:请教VB操作webbrowser代码改vfp代码,谢谢
只看楼主 加入收藏
pvm2000
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:180
专家分:312
注 册:2022-12-22
收藏
得分:0 
跨界做点东西真不容易!
2023-02-23 00:53
wxzd123
Rank: 2
等 级:论坛游民
帖 子:393
专家分:69
注 册:2012-9-6
收藏
得分:0 
回复 10楼 吹水佬
版主你好
看了WebView2代码
    * html代码(web测试代码)
TEXT TO htmlCode TEXTMERGE NOSHOW PRETEXT 7
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>vfp运行web代码</title>
    <script>
        var e = document.createEvent("MouseEvents");
        e.initEvent("click", true, true);
        
        function test()
        {
            alert("点击了test按键");
        }
    </script>
</head>
<body>
    <pre>
    <h2>vfp运行web代码</h2>
    <button id="vfprun" onclick="test()">test</button>
    </pre>
</body>
</html>
ENDTEXT

WebView_NavigateHtml(STRCONV(htmlCode+0h00,5))                  && 打开html
INKEY(1)                                                        && 因 Navigate 是异步的,此时要中断一下
jsCode = [document.getElementById("vfprun").dispatchEvent(e);]  && 执行点击按键
WebView_ExecuteScript(STRCONV(jsCode+0h00,5))                   && 解释html之后执行
这里的.dispatchEvent(e)和WebView_ExecuteScript(STRCONV(jsCode+0h00,5)) 是不是和您做的myWebViewDll.dll有关,这个WebView2看着用起来太复杂,我用的是webbrowser,请版主指导一下,辛苦了,谢谢
2023-02-23 08:18
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 12楼 wxzd123
只作参考,不能照搬。
主要是 JS 和 HTML 代码部分
WebBrowser控件也可以运行JS代码
如果要照搬,就用 WebView2
2023-02-23 08:45
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:52
帖 子:525
专家分:1278
注 册:2010-1-11
收藏
得分:0 
以下是引用pvm2000在2023-2-23 00:53:26的发言:

跨界做点东西真不容易!

空闲时间还挺多
2023-02-23 09:27
wxzd123
Rank: 2
等 级:论坛游民
帖 子:393
专家分:69
注 册:2012-9-6
收藏
得分:0 
回复 13楼 吹水佬
版主不是照搬,参考不了,好像有些东西在dll中,这是这行代码中少点什么?
Thisform.Web1.Document.getElementById('button1').?.click
'button1'是网页代码中的id,这个?应该是什么不知道
2023-02-23 10:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏(1)
得分:10 
以下是引用wxzd123在2023-2-23 10:28:06的发言:

版主不是照搬,参考不了,好像有些东西在dll中,这是这行代码中少点什么?
Thisform.Web1.Document.getElementById('button1').?.click
'button1'是网页代码中的id,这个?应该是什么不知道

示例中的 JS、HTML 代码都是明摆着,与DLL无关。
DLL只是封装了几个WebView2接口的API,他提供的只是一种方法,没有具体内容。

JS、HTML可以照搬。
程序代码:
TEXT TO htmlCode TEXTMERGE NOSHOW PRETEXT 7
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>vfp运行web代码</title>
    <script>
        var e = document.createEvent("MouseEvents");
        e.initEvent("click", true, true);
        
        function test() 
        {
            alert("点击了test按键");
        }
    </script>
</head>
<body>
    <pre>
    <h2>vfp运行web代码</h2>
    <button id="vfprun" onclick="test()">test</button>
    </pre>
</body>
</html>
ENDTEXT

of = CREATEOBJECT("form1")
of.show(1)
RETURN

DEFINE CLASS form1 AS Form
    ADD OBJECT cmd AS CommandButton WITH Top=10,Left=10,height=22,Caption = "test"
    ADD OBJECT WB AS Olecontrol WITH Top=40,Left=0,Width=this.width,Height=this.height,;
        OleClass="Shell.Explorer.2",Anchor=15,Visible=.T.

 
    PROCEDURE Init
        this.WB.Silent = .T.
        thisform.WB.Navigate("about:"+htmlCode)
    ENDPROC

    PROCEDURE cmd.Click
        jsCode = [document.getElementById("vfprun").dispatchEvent(e);]  && 执行点击按键 
        thisform.WB.document.parentWindow.execScript(jsCode, "JavaScript")
    ENDPROC
ENDDEFINE
2023-02-23 12:01
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:0 
回复 16楼 吹水佬
OK!
2023-02-23 14:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用wxzd123在2023-2-23 10:28:06的发言:

这是这行代码中少点什么?
Thisform.Web1.Document.getElementById('button1').?.click
'button1'是网页代码中的id,这个?应该是什么不知道

这个?应该不是什么,或者某些情况是可以 <object>.click 的。

2023-02-23 15:04
wxzd123
Rank: 2
等 级:论坛游民
帖 子:393
专家分:69
注 册:2012-9-6
收藏
得分:0 
回复 16楼 吹水佬
谢谢版主
webbrowser不支持这行代码
var e = document.createEvent("MouseEvents");
图片附件: 游客没有浏览图片的权限,请 登录注册
2023-02-23 16:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
人家OK你吾OK,是不是“落后”了。
升级IE内核

2023-02-23 16:27
快速回复:请教VB操作webbrowser代码改vfp代码,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081574 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved