JavaScript和Flash的通信

Electron中使用flash 插件及flash与JS通信 题记Electron可以轻松的使用 Html5 / CSS3 / ES6 / Node.js 等等时兴技术开发。近期用Electron做一个需要通过手写实现毛笔签名,手头有一个AS3的版本。网上提供的JS算法基本都只能圆珠笔的线条效果,无法实现类似毛笔的笔锋效果。 研究预期:swf文件实现签名功能,完成后交给JS处理。Electron 中使用flash插件ppapi-flash插件 PPAPI 阅读详情

  说明: 略作修改,主要是一些很初级的操作; 又很多相似的文章,不过这个很权威


  下面是一些在Flash和使用javascript的HTML文件直接通信的示例,每个示例都有简略的步骤


  本文讨论了3种基本的Flash/javascript通信方式:
  > javascript 到 Flash的通信----使用Flash播放器的javascript方法
  > Flash 到 javascript的通信----使用Flash的fscommand
  > Flash 到 Flash的通信-----------使用本地连接对象或综合上2种技术


  并不是所有的浏览器都很重视脚本.为了和Flash播放器通信,浏览器必须有内置的钩子以便Flash播放器可以'监听'.浏览器必须是下列的几种:
  > Netscape Navigator 3.0-4.7x, 和 Netscape 6.2或更高
  (Windows 95/98/NT/2000/XP 或 MacOS; 允许Java和LiveConnect)
  >Internet Explorer 3.0 或更高
  (仅Windows 95/98/NT/2000/XP; 允许ActiveX)


  注意:Macintosh上的Internet Explorer和早期版本的Netscape6不支持这种方法.请查看本文的附加信息



  javascript到Flash的通信
  这个例子演示了如何使用Flash的method把变量从HTML的input text 发送到该页面中的Flash文件中.HTML input的数据通过Flash的SetVariable方法传送到Flash文件中.


  查看示例:示例 下载源文件(17k)


  步骤:
  >Flash中
  1.新建一个文件,保存为javascript_to_flash.fla
  2.用文字工具在舞台上创建一个文本域
  3.选择这个文本域,在属性面板中,从下拉列表中选择动态文本(Dynamic Text),在变量(variable)栏填上"myVar"
  注意:最好的习惯是使用Instance,用myVar.text更改myVar的值.为了简单起见和兼容Flash4和Flash5,我们使用的是变量名的形式.
  4.保存文件
  5.发布HTML文件和SWF文件

  >Dreamweaver中
  下一步的工作转移到Dreamweaver中了,当然也可以是其他的HTML编辑器
  1.打开上一步发布的HTML文件
  2.插入生成的SWF文件和OBJECT/EMBED标签
  (1) Insert>Media>Flash,并选择这个Flash
  (2) 切换到代码视图,我们需要修改被选中的<OBJECT>和<EMBED>标签
  (3) 在OBJECT标签中,插入id="myFlash"
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com
/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
width=366 height=142 id="myFlash">

  注意:如果你是粘贴复制代码的话,确保删除不必要的换行.否则可能会引起错误; id也可以在属性面板里直接输入
  (4) 在EMBED标签中,插入name="myFlash"和swLiveConnect="true",确保没有使用id属性!代码应当是这样子的:
  <embed src="javascript_to_flash.swf" quality=high width=366 height=142
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com
/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash";
name="myFlash" swLiveConnect="true"> </embed>



  3.创建表单域
  (1) 回到设计视图
  (2) 插入文本域(Insert> Form Object> Text Field),如果询问是否添加表单域,选择是
  (3) 把文本域的HTML标签修改成这样:
  <input type="text" name="sendText" maxlength="45" onChange="doPassVar(this)">


  每当文本域内容发生变化时,onChange就被触发,doPassVar()函数就被调用


  4.创建传递变量值的javascript函数
  复制下面的javascript到<head></head>标签内
<SCRIPT LANGUAGE=javascript>
<!--
function doPassVar(args){
   var sendText = args.value;
   window.document.myFlash.SetVariable("myVar", sendText);}
//-->
</SCRIPT>


  5.保存文件,测试一下(F12)


  Flash到javascript的通信
  从HTML可以发送数据到Flash,反过来也可以. 这个例子演示了如何应用Flash的Fscommand来发送数据到javascript.
  查看示例:示例2 下载源文件: flash_to_javascript.zip(10K)


  简要步骤:
  >Flash中
  新建一个文件,保存为flash_to_javascript.fla
  创建一个文本域,设置成输入文本(Input Text),选择"border"以便我们能看到他,指定他的变量为inputVar
  创建一个按钮,在按钮上添加如下的as:
on (release) {  fscommand ("send_var", inputVar);}


  保存文件,导出HTML和SWF


  >Dreamweaver中
  1.打开导出HTML文件,修改<OBJECT>和<EMBED>标签,结果同上:
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com
/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width=366
 height=142 id="myFlash"> <embed src="javascript_to_flash.swf" quality=high
width=366 height=142 type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com
/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash";
name="myFlash" swLiveConnect="true"> </embed>
  2. 插入如下的javascript到<Body>标签内:

<SCRIPT LANGUAGE=javascript>
<!--
var InternetExplorer= navigator.appName.indexOf("Microsoft") != -1;
function myFlash_DoFSCommand(command, args)
{ 
var myFlashObj = InternetExplorer ? myFlash : document.myFlash;  alert (args);
}
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&   navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1)
{ 
document.write('<SCRIPT LANGUAGE=VBScript/> /n'); 
document.write('on error resume next /n'); 
document.write('Sub myFlash_FSCommand(ByVal command, ByVal args)/n'); 
document.write(' call myFlash_DoFSCommand(command, args)/n'); 
document.write('end sub/n');  document.write('</SCRIPT/> /n');
}
//-->
</SCRIPT>



  3.保存,预览


  Flash和Flash的通信


  通过上面两种方法的混和使用,同一HTML中两个或者更多的Flash直接可以相互传送消息. 从一个flash使用fscommand传送消息给javascript,使用Flash的javascript methods把消息传给另外一个flash


  详细的看这里:Flash影片之间的通信示例
  http://www.macromedia.com/support/flash/ts/document./flash_to_flash_comm.htm


 


  从Flash MX开始,local connection对象可以用来在flash之间传送消息. 这使得同一HTML中的或者位于两个浏览器窗口中的两个flash影片可以相互发送消息,而不必使用javascript或者fscommand
详细的看这里:在Flash MX中使用local connection对象


  附可控制Flash Player的javascript方法:


  一览表:


Play() -------------------------------------------------------- 播放动画
StopPlay()--------------------------------------------------- 停止动画
IsPlaying()--------------------------------------------------- 动画是否正在播放
GotoFrame(frame_number)---------------------------- 跳转到某帧
TotalFrames()---------------------------------------------- 获取动画总帧数
CurrentFrame()-------------------------------------------- 回传当前动画所在帧数-1
Rewind()---------------------------------------------------- 使动画返回第一帧
SetZoomRect(left,top,right,buttom)--------------- 放大指定区域
Zoom(percent)-------------------------------------------- 改变动画大小
Pan(x_position,y_position,unit)----------------------- 使动画在x,y方向上平移
PercentLoaded()------------------------------------------ 返回动画被载入的百分比
LoadMovie(level_number,path)----------------------- 加载动画
TGotoFrame(movie_clip,frame_number)----------- movie_clip跳转到指定帧数
TGotoLabel(movie_clip,label_name)----------------- movie_clip跳转到指定标签
TCurrentFrame(movie_clip)----------------------------- 回传movie_clip当前帧-1
TCurrentLabel(movie_clip)------------------------------ 回传movie_clip当前标签
TPlay(movie_clip)------------------------------------------ 播放movie_clip
TStopPlay(movie_clip)----------------------------------- 停止movie_clip的播放
GetVariable(variable_name)---------------------------- 获取变量
SetVariable(variable_name,value)--------------------- 变量赋值
TCallFrame(movie_clip,frame_number)-------------- call指定帧上的action
TCallLabel(movie_clip,label)----------------------------- call指定标签上的action
TGetProperty(movie_clip,property)------------------ 获取movie_clip的指定属性
TSetProperty(movie_clip,property,number)------- 设置movie_clip的指定属性

SnapHelper用RecyclerView实现滑动效果RecyclerViewSnap.zip RecyclerViewSnap,这是一个Android UI控件,用SnapHelper抽象类中的RecyclerView实现类似Google Play中滑动的效果。运行效果:示例代码:startRecyclerView.setLayoutManager(new LinearLayoutManager(this,                 LinearLayoutManager.HORIZONTAL, false)); SnapHelper snapHelperStart = new GravitySnapHelper(Gravity.START); snapHelperStart.attachToRecyclerView(startRecyclerView); 立即下载

相关推荐

GravitySnapHelper:将RecyclerView捕捉到边缘的SnapHelper

GravitySnapHelper SnapHelper,将RecyclerView捕捉到边缘。 设置 将此添加到您的build.gradle中: implementation ' com.github.rubensousa:gravitysnaphelper:2.2.1 ' 如何使用 您可以创建GravitySnapHelper,也可以使用GravitySnapRecyclerView。 如果要直接使用GravitySnapHelper,则只需创建它并将其附加到RecyclerView: val snapHelper = GravitySnapHelper ( Gravity . START ) snapHelper.attachToRecyclerView(recyclerView) 如果要使用GravitySnapRecyclerView,则可以使用以下xml属性进行自定义

SnapHelper解析

简介SnapHelper是RecyclerView的辅助类,可用来控制在滑动结束后,RecyclerView中item的对齐方式。SnapHelper是一个抽象类,系统内置了两个默认实现类LinearSnapHelper:使当前Item居中显示,常用场景是横向的RecyclerView, 类似ViewPager效果,但是又可以快速滑动(滑动多页)PagerSnapHelper:PagerSnapHelper的展示效果和LineSnapHelper是一样的,只是PagerSnapHelper 限制一次只能滑动

huahuahua333686的博客 1280

滤波器设计实战:Filter Solutions软件从入门到精通

本文是Filter Solutions滤波器设计软件的实战指南,从入门到精通。通过设计一个低通数字滤波器的完整流程,详细讲解了参数设置、FIR/IIR选择、窗函数及逼近函数应用。文章重点介绍了如何利用这款经典工具高效完成滤波器设计、性能权衡,并将设计成果导出至MATLAB等平台进行实际验证与应用,是信号处理工程师提升效率的实用参考。

weixin_29095049的博客 531

Android:让你明明白白的使用RecyclerView——SnapHelper详解

由于本文罗列的知识点是根据我自身总结出来的,并且由于本人水平有限,无法全部提及,欢迎大神们能补充~将来我会对上面的知识点一个一个深入学习,也希望有童鞋跟我一起学习,一起进阶。提升架构认知不是一蹴而就的,它离不开刻意学习和思考。**这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家,**梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不一样的启发、收获。,第一时间获取最新知识点Android架构师之路很漫长,一起共勉吧!

2401_84121871的博客 1368

MQTT与物联网平台(一):基础知识和设备接入物联网平台的实现(以华为云为例)

本文简单介绍了MQTT的基础知识和使用方法,以蓝牙WIFI双模芯片W801作为硬件设备,接入到华为云。

weixin_50622833的博客 1万+

OCCT(Open CASCADE Technology)入门-2.搭建开发环境

安装完成后,在【扩展】菜单下会看到【Qt VS Tools】菜单,打开子菜单【options】进入qt配置窗口。打开VS后随便创建一个新项目,进入开发环境主页,打开顶部菜单【扩展】->【管理扩展】打开管理扩展窗口。然后点击右下角【创建】,一路【next】即可,最后会进入到开发主界面,得到一个下面的工程结构。好了,到这里基本的环境我们已经安装好了,下面我们开始创建项目并配置开发环境。打开顶部菜单【项目】,点击最后一个菜单项【xxx属性】,进入项目配置界面。这里的配置一般不用改,我们看【Versions】

2501_91235145的博客 2875

python snap7 简书_SnapHelper源码深度解析

目录介绍01.SnapHelper简单介绍1.1 SnapHelper作用1.2 SnapHelper类分析1.3 LinearSnapHelper类分析1.4 PagerSnapHelper类分析02.SnapHelper源码分析2.1 attachToRecyclerView入口方法2.2 SnapHelper的抽象方法2.3 onFling方法源码分析03.LinearSnapHelper源...

weixin_42489104的博客 530

YOLOv8实战火焰和烟雾检测 (视频教程)

本课程将手把手地教大家使用YOLOv8结合可变形卷积(deformable convolution)训练火焰和烟雾数据集,完成一个多目标检测实战项目,可实时检测图像、视频、摄像头和流媒体(http/rtsp)中火焰和烟雾,并提供可视化演示界面 。

bai666ai的博客 1914

flash数字时钟_Flash闪存有哪些?ICMAX史上最全汇总

Flash存储器,简称Flash,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程的性能,还不会因断电而丢失数据,具有快速读取数据的特点,Flash总类可谓繁多,功能各异,而你对它了解有多少呢?今天就和宏旺半导体一起来看看。为了让大家更深入了解Flash,今天将主要根据芯片的通信协议并且结合Flash的特点,给大家一个全新认识。在了解之前Flash之前,先要弄清它和DRAM的区别。DRAM即...

weixin_39966053的博客 566

倍福TC3 PLC高速采集实战:如何用PLC-Recorder实现0.24ms级时间戳同步

本文详细介绍了倍福TC3 PLC与PLC-Recorder实现0.24ms级时间戳同步的工程实践方案。通过硬件拓扑设计、时间源选择优化、报文结构封装及同步验证方法,为工业自动化领域的高精度数据采集提供了可靠解决方案,特别适用于精密装配、激光切割等微秒级同步要求的场景。

weixin_29193359的博客 372

让 ABAP 复杂内表优雅“喂饱”:Complex Internal Table Filling 全面实战指南

本文为ABAP开发者系统梳理了复杂内表的填充与复制方法。重点介绍了work area的两种声明方式、APPEND操作的多形态用法及其初始值语义,以及VALUE #( )构造器的逐行与整表写法。同时讲解了CORRESPONDING的同名字段映射功能,帮助开发者在"航司与航线"等复杂业务场景中实现最佳实践。文章还涵盖内存优化、可读性建议和常见误区,提供可运行样例,适用于ABAP On-Premise和SAP BTP环境。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 168

SnapHelper翻页效果两行代码带你实现不一样的RecyclerView

比如我们实现的第一个效果,当RecyclerView处于静止的时候,SnapHelper处理的方式就是把停止后的Item的中心依附于RecyclerView的中心。当我们进行滑动的时候,RecyclerView中的Item停止的位置是取决于你滑动时的速度(Fling),可能会出现的情况是最终我们停止的位置可能位于两个item之间,当然也有可能正好位于某个item的中间。效果滑动停止后Item的中心会被附加到RecyclerView的中心,说的直白点就是滑动停止后会显示一个完整的Item。...

u012765781的博客 1265

uniapp:实现扫描二维码+自定义扫描框+扫一扫功能,支持扫码识别二维码、条形码(条码)、微信/支付宝等二维码功能,自定义扫码页面可添加按钮或文字展示布局(移动端H5网页/小程序/安卓苹果APP端)

UNI-APP实现扫描二维码,uniapp扫描条形码,uniapp实现扫一扫功能,扫码成功后跳转页面,uniApp扫描条码,uniApp-H5 使用摄像头扫码功能(扫一扫),实现手机扫描二维码并跳转全过程示例代码,用户扫码后自动跳转到链接,uniapp怎么调用扫一扫功能,uniapp实现扫一扫功能,uniapp请求相机使用权限,扫一扫权限申请,uniapp调用摄像头扫码,uniapp实现调用相机扫码,UniApp 实现扫描二维码,uniapp APP安卓苹果ios实现扫码扫一扫,Uniapp微信小程序扫描二

✅ 精选推荐文章 4708

JS与Flash的通信原理

JS与Flash的通信原理名词:1、文中出现的容器是指承载Flash的Html页面一、JS和Flash的通信原理先不提8以前的通信方法(BTW:因为 Molay 我也不会哈哈)查看Flash8的内置帮助,发现了flash.external.ExternalInterface类该类中就包含了MM给我们提供的互相通信方法该类中有一个属性和两个方法:属性:available:Boolean

YHC23的专栏 1170

【小白深度教程 1.3】使用 BP-Net 深度补全网络,进行 KITTI 稠密点云和图像融合(Depth Completion 实战)

在上一节中,我们展示了如何将从激光雷达获取的稀疏点云(深度)映射到图像。因此这篇论文我们尝试使用 Depth Completion(深度补全)技术,来将稀释的点云深度,补全为稠密深度。

2401_87064292的博客 1198

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

JavaScript与Flash通信

Flash已经提供了ExternalInterface接口与JavaScript通信,ExternalInterface有两个方法,call和addCallback,call的作用是让Flash调用js里的方法,addCallback是用来注册flash函数让js调用。下面是官方文档对call和addCallback的说明: 利用 ActionScript,可以在 HTML 页上执行以下操作: 调...

HertzDL的博客 262

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

flash html 通信,JavaScript和Flash的通信

JavaScript和Flash的通信责任编辑:pcedu[04-2-11 15:39]作者:qhwa说明: 略作修改,主要是一些很初级的操作; 又很多相似的文章,不过这个很权威下面是一些在Flash和使用javascript的HTML文件直接通信的示例,每个示例都有简略的步骤本文讨论了3种基本的Flash/javascript通信方式:> javascript 到 Flash的通信----...

weixin_33345728的博客 230

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JavaScript 和 Flash 的通信

JavaScript和Macromedia Flash的通信示例 原文地址: www.macromedia.com/support/flash/ts/documents/java_script_comm.htm 说明: 略作修改,主要是一些很初级的操作; 又很多相似的文章,不过这个很权威 下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每个示例都有简略的步骤...

iteye_8614的博客 201

关于 JavaScript 和 Flash 间的通信

 本文讨论了3种基本的Flash/Javascript通信方式: Javascript 到 Flash的通信----使用Flash播放器的javascript方法 Flash 到 Javascript的通信----使用Flash的fscommand Flash 到 Flash的通信----------使用本地连接对象或综合上2种技术 前言、JavaScript和Macromedia

linhongdan的专栏 536

flash html 通信,Javascript与flash交互通信基础教程

Javascript与flash交互通信基础教程更新时间:2008年08月07日 23:44:39 作者:说明: 略作修改,主要是一些很初级的操作; 又很多相似的文章,不过这个很权威下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每个示例都有简略的步骤本文讨论了3种基本的Flash/Javascript通信方式:Javascript到Flash的通信----使...

weixin_42502366的博客 243

js和Flash的通信原理

JS与Flash的通信原理 媒体:webstudio.com.cn  作者:Molay 发布:郭文 2007/11/19 11:39:41 名词: 1、文中出现的容器是指承载Flash的Html页面 一、JS和Flash的通信原理 先不提8以前的通信方法(BTW:因为 Molay 我也不会哈哈) 查看Flash8的内置帮助,发现了flash.external.External

jiubugeinifo的专栏 1070

flash和js通信实例

一:flash代码 import com.hexagonstar.util.debug.Debug;//alcon调试工具所需包 import flash.external.ExternalInterface;//js与flash交互所需包 import flash.events.Event; import flash.events.MouseEvent; var str:S...

weixin_30904593的博客 82

Flash与JavaScript通信

最近在做项目的过程中需要flash与js之间的互相调用,查找资料flash与js的通信有三中方法。 1.getURL("javascript:jsFunctionName()"); getURL是flash的一个全局函数,作用是向浏览器发送一个请求。熟悉js的人一定知道,向浏览器 发送javascript:开头的请求,其实就是模拟了一个js的请求协议,浏览器会去在当前环境中找指

tiantian1980的专栏 981
上一篇: Head元素使用集锦
下一篇: ICMP TYPE CODE 对应表
jacob1
博客等级 码龄25年 6粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值