11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 2488|回复: 6
上一主题 下一主题

[AIR 开发] as3操作获取StageWebView网页数据通讯【示例安卓案例操作修改百度首页】(pc移动端通用)

[复制链接] TA的其它主题
发表于 2020-2-21 22:59:36 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 TKCB 于 2020-2-21 23:18 编辑

启动图

启动图

获取logo链接

获取logo链接

替换百度logo与填入内容

替换百度logo与填入内容

再次获取logo链接

再次获取logo链接
TIM截图20200221222716.png

替换logo与重填数据

替换logo与重填数据


引用官方的话:
StageWebView 类通过一种简单方式来显示 HTML 内容。该类不提供 ActionScript 和 HTML 内容之间的交互,除非通过 StageWebView 类自身的方法和属性。例如,无法在 ActionScript 和 JavaScript 之间传递值或调用函数。
===================================================================================================

----------额,官方说得是很不严谨的,其实是可以的,首先要知道浏览器可以通过javascript:这个协议直接运行js代码,也就是说as3可以通过 StageWebView 的
loadURL()函数直接运行js;
如:
var myWebView:StageWebView=new StageWebView
......
myWebView.loadURL("javascript:alert(\"浏览器中弹出消息内容\")")
这样就可以直接操作在当前页面弹出一个内容为:浏览器中弹出消息内容的js消息框。
myWebView.loadURL("javascript:alert(document.body.innerHTML)")
这样就可以直接弹出当前页面的html代码的数据
同样的,可以利用js直接操作js函数,html dom,比如给摸个输入框填入信息,点击某个按钮等等
----------------------以上就是as操作调用js-----------------------------------



那么怎么让js回调给as3呢,或者js怎么调用as3呢。
方法是有的。

StageWebView的location属性,这个属性有个事件LOCATION_CHANGE。
这个事件是什么作用呢,就是当location属性一旦被更改就会触发。
这就是关键了,利用js来修改location的属性数据,从而主动触发LOCATION_CHANGE事件,

然后as3触发这个事件后就获取StageWebView的location数据,从而获得js传过来的数据,
过程如下:
js执行------document.location.pathname ="我是js传过来的信息";
然后由于修改了location的数据,那么as3那边LOCATION_CHANGE就会触发,
这时候as3就可以直接获取location的数据了
------------------------------------以上就是as3获取js的调用或者回调信息---------------------



经过上边的一顿猛如虎的操作,那么as3与js的双向通讯也就完成了。
附带上一个写好备注了的fla文件,自己查看。
注:当前案例是基于调试环境使用安卓端示例(网站会根据浏览器系统不同而现实不同的网页,直接上真机会有网页数据不同,示例代码是没有考虑兼容的情况的,需要自己根据网站的html代码来做相应操作)



StageWebView与as3直接讯通传值.fla (7.17 KB, 下载次数: 12, 售价: 150 银子)

评分

参与人数 2银子 +32 金子 +1 贡献 +3 收起 理由
danceman + 2 11RIA 大神就是大神,佩服佩服
TKCB + 30 + 1 + 3 11RIA 闪客社区,就是这么专业

查看全部评分

发表于 2020-2-21 23:18:57 | 显示全部楼层
【11RIA 闪客社区,评分公示】:
是否有价值:优秀(银子 +30  贡献 +3)
是否原创:是(金子 +1)
是否翻译:否
如对自己的评分有疑问,则咨询版主、管理员等。
回复

使用道具 举报

发表于 2020-8-2 22:13:49 | 显示全部楼层

无敌的啊 看看学习下啊
回复

使用道具 举报

发表于 2020-8-4 01:54:19 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2020-10-13 10:31:21 | 显示全部楼层
谢谢大佬的分享!
回复

使用道具 举报

发表于 2020-10-26 11:28:40 | 显示全部楼层
谢谢大佬的分享!
回复

使用道具 举报

发表于 2020-10-29 22:21:00 | 显示全部楼层
谢谢大佬的分享!
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



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