网页中flash数据抓取(启动图获取logo链接替换百度logo与重填数据(组图))

优采云 发布时间: 2021-10-15 01:18

  网页中flash数据抓取(启动图获取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,比如在输入框中填信息,点击按钮等。

  ----------------------以上是调用js的as操作-------------------- --- -------------

  那么如何让js回调as3,或者js如何调用as3。

  有方法。

  StageWebView 的位置属性,该属性有一个事件 LOCATION_CHANGE。

  这个事件的目的是什么,就是一旦location属性改变就会触发。

  这是关键。使用js修改位置的属性数据主动触发LOCATION_CHANGE事件。

  然后as3触发这个事件后,获取StageWebView的位置数据,从而获取js传递过来的数据,

  过程如下:

  js执行------document.location.pathname="我是js传过来的信息";

  然后因为修改了位置数据,会触发as3端的LOCATION_CHANGE,

  这时候as3就可以直接获取位置数据了

  ------------------------------------以上是as3获取js的调用或回调信息- --- -----------------

  经过以上激烈的操作,as3和js的双向通信就完成了。

  附上一个带有文字说明的fla文件,自己检查一下。

  注:本案例以在调试环境下使用Android端为例(网站会根据不同的浏览器系统显示不同的网页,直接在真实页面上会出现不同的网页数据。示例代码不考虑兼容性,需要根据网站的html代码做相应操作)

  

  StageWebView 和 as3 直接通信 value.fla (7.17 KB, 下载: 9, 售价: 150 银币)

  2020-2-21 22:57 上传

  点击文件名下载附件

  as3和StageWebView的互访

  分数

  参与人数 2银+32金+1贡献+3理由

  

  舞者

  + 2

  11RIA上帝是伟大的上帝,佩服佩服

  

  TKCB

  + 30

  + 1

  + 3

  11RIA Flash社区,就是这么专业

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线