初级执事
阅读权限 2
积分 1614
侠名
UID 25
主题
帖子
精华
好友
银子
金子
贡献
威望
推广
活跃
荣耀
注册时间 2017-11-7
最后登录 1970-1-1
在线时间 小时
个人主页
|
【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 TKCB 于 2020-2-21 23:18 编辑
启动图
获取logo链接
替换百度logo与填入内容
再次获取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 银子)
|
评分
-
查看全部评分
|