开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 107|回复: 1
打印 上一主题 下一主题
收起左侧

[火山PC求助] 火山PC中 MFC Edge模块打开网页并取返回的网页文本返回为NULL

[复制链接]
结帖率:86% (12/14)
跳转到指定楼层
楼主
发表于 昨天 09:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式   四川省凉山彝族自治州
11精币
火山PC中 MFC Edge模块打开网页并取返回的网页文本返回为NULL
但是等按钮1点击后,点击按钮2就又可以获取到网页文本了。请问如果只用一个按钮即打开又获取文本怎么实现?





<火山程序 类型 = "通常" 版本 = 1 />

包 Edge.CDQbay

类 启动类 <公开 基础类 = 窗口程序类>
{
    方法 启动方法 <公开 类型 = 整数>
    {
        变量 主界面 <静态 类型 = 主界面>
        关注屏幕DPI (真)
        主界面.创建主窗口 (, , , , )
        返回 (1)
    }
}

类 主界面 <公开 基础类 = 窗口 @视窗.布局 = "client_size = \"971, 657\"">
{
    变量 基本信息cha询 <类型 = 按钮 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"17, 13, 134, 83\"" 标题 = "基本信息cha询">

    #

    方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
    参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
        变量 基本信息 <静态 类型 = 基本信息窗口>
        如果 (来源对象 == 基本信息cha询)
        {
            基本信息.创建窗口 (, , , , )
        }
        返回 (0)
    }

    方法 主界面_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 主界面 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
        返回 (0)
    }
}

类 基本信息窗口 <公开 基础类 = 窗口 @视窗.布局 = "client_size = \"770, 558\"">
{
    变量 按钮2 <类型 = 按钮 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"375, 32, 83, 26\"" 标题 = "获取网页文本">
    变量 按钮1 <类型 = 按钮 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 102\r\npos = \"254, 32, 96, 26\"" 标题 = "打开网页并获取">
    变量 Edge浏览框1 <类型 = Edge浏览框 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 103\r\npos = \"23, 77, 474, 390\""
            标题 = "Edge浏览框1">
    变量 编辑框1 <类型 = 编辑框 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 104\r\npos = \"17, 6, 224, 64\"" 标题 = "编辑框1">

    #

    方法 基本信息窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 基本信息窗口 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
        返回 (0)
    }

    方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
    参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
        如果 (来源对象 == 按钮2)
        {
            变量 返回文本 <类型 = 文本型>
            返回文本 = Edge浏览框1.取网页文本 (, )
            调试输出 (返回文本)
        }
        如果 (来源对象 == 按钮1)
        {
            Edge浏览框1.链接地址 = "www.baidu.com"
            挂接事件 (Edge浏览框1, 0)
        }
        返回 (0)
    }

    方法 Edge浏览框_载入完毕 <接收事件 类型 = 整数 注释 = "当将要显示在浏览器内的文档被载入完毕后触发本事件">
    参数 来源对象 <类型 = Edge浏览框 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 状态码 <类型 = Edge错误码 注释 = "可根据该值判断产生错误时的错误原因,如果该值为-1,则表示载入成功.">
    参数 导航ID <类型 = 长整数>
    参数 框架指针 <类型 = 变整数 注释 = "其值不为0时,表示事件由框架引发而产生.通过\"取框架\"方法得到Edge框架.">
    参数 HTTP状态码 <类型 = 整数 注释 = "如果导航涉及HTTP请求,则导航的状态代码.">
    {
        如果 (来源对象 == Edge浏览框1)
        {
            变量 返回文本 <类型 = 文本型>
            如果 (标记值 == 0)
            {
                Edge浏览框1.链接地址 = "www.baidu.com"
                返回文本 = Edge浏览框1.取网页文本 (, )
                调试输出 (返回文本)
            }

        }
        返回 (0)
    }
}



回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 资源分享区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换终身vip用户组哦。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:100% (11/11)

签到天数: 18 天

沙发
发表于 昨天 17:22 | 只看该作者   浙江省嘉兴市
在事件中要异步操作

<火山程序 类型 = "通常" 版本 = 1 />

方法 Edge浏览框_载入完毕 <接收事件 类型 = 整数 注释 = "当将要显示在浏览器内的文档被载入完毕后触发本事件">
参数 来源对象 <类型 = Edge浏览框 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 状态码 <类型 = Edge错误码 注释 = "可根据该值判断产生错误时的错误原因,如果该值为-1,则表示载入成功.">
参数 导航ID <类型 = 长整数>
参数 框架指针 <类型 = 变整数 注释 = "其值不为0时,表示事件由框架引发而产生.通过\"取框架\"方法得到Edge框架.">
参数 HTTP状态码 <类型 = 整数 注释 = "如果导航涉及HTTP请求,则导航的状态代码.">
{
    如果 (来源对象 == Edge浏览框1)
    {
        调试输出 ("Edge浏览框_载入完毕")
        Edge浏览框1.运行JS_异步 ("document.documentElement.outerText;", 1)
    }
    返回 (0)
}

方法 Edge浏览框_JS执行完成 <接收事件 类型 = 整数 注释 = "执行\"运行JS\"方法后的回调函数.">
参数 来源对象 <类型 = Edge浏览框 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 返回码 <类型 = 整数 注释 = "如果该值为0,表示操作成功,否则表示发生错误时的错误码.英文名为HRESULT类型.">
参数 执行结果 <类型 = 文本型 注释 = "运行JS后所得到的结果,无结果返回时为null.">
参数 框架指针 <类型 = 变整数 注释 = "其值不为0时,表示事件由框架引发而产生.通过\"取框架\"方法得到Edge框架.">
参数 用户数据 <类型 = 变整数 注释 = "\"运行JS\"方法时提供的用户自定义数据">
{
    如果 (来源对象 == Edge浏览框1)
    {
        如果 (用户数据 == 1)
        {
            调试输出 ("获取网页文本")
            调试输出 (执行结果)



        }
    }
    返回 (0)
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表