javascript向flash swf文件传递参数值注意细节

yizhihongxing

让我们详细讲解“javascript向flash swf文件传递参数值注意细节”的攻略。

1. 基本概念

在传递参数之前,我们需要了解一些关于Flash与JavaScript之间交互的基本概念。

Flash对于JavaScript的支持

Flash支持通过JavaScript调用Flash中的方法(ExternalInterface.call),以及在Flash中调用JavaScript中的方法(ExternalInterface.addCallback)。

ExternalInterface使用的限制

Flash与JavaScript交互的时候,存在一些限制:

  • 此方法仅适用于通过浏览器嵌入的Flash对象,对于使用浏览器插件方式嵌入的Flash对象,则无法使用ExternalInterface。
  • 此方法需要Flash对象安装在浏览器中,否则可能会出现js报错。

2. 实现步骤

实现Flash与JavaScript之间交互,需要经过以下步骤:

步骤1:在Flash中开启ExternalInterface支持

import flash.external.*;

if(ExternalInterface.available) {
     ExternalInterface.call("completeInit");
}

步骤2:在JavaScript中调用Flash方法

function callFlashMethod(method, param) {
    var movie = document.getElementById("flash-object-id");
    return movie[method](param);
}

其中,"flash-object-id" 为嵌入页面中flash对象的id属性值。

步骤3:在Flash中调用JavaScript方法

if(ExternalInterface.available) {
    ExternalInterface.call("jsFunctionName", "param1", "param2");
}

其中,"jsFunctionName" 为要调用的JavaScript方法名,"param1"、"param2" 为该方法的参数。

3. 传递参数的注意细节

在使用ExternalInterface传递参数时,需要注意以下细节:

细节1:传递的参数需要是基本类型

在传递参数时,只能传递JavaScript基本类型(如字符串、数字、布尔型),不能传递复杂类型(如数组、对象等)。

细节2:使用encodeURIComponent()方法编码传递的参数

在使用ExternalInterface传递参数时,应将参数使用encodeURIComponent()方法进行编码,防止参数中出现特殊字符导致调用失败。

示例1:在Flash中调用JavaScript函数,并传递一个参数

Flash代码:

import flash.external.*;

if(ExternalInterface.available) {
    ExternalInterface.call("sayHello", "world");
}

JavaScript代码:

function sayHello(msg) {
    alert("Hello, " + msg);
}

示例2:在JavaScript中调用Flash函数,并传递一个参数

JavaScript代码:

function callFlash() {
    var movie = document.getElementById("flash-object-id");
    movie.flashFunction("Hello,World!");
}

Flash代码:

import flash.external.*;

if(ExternalInterface.available) {
    ExternalInterface.addCallback("flashFunction", onFlashFunction);
}

function onFlashFunction(msg:String) {
    trace("Flash received message: " + msg)
}

以上就是关于“JavaScript向Flash SWF文件传递参数值注意细节”的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript向flash swf文件传递参数值注意细节 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • javascript显示动态时间的方法汇总

    我来为你讲解一下“JavaScript显示动态时间的方法汇总”的完整攻略。 JavaScript显示动态时间的方法汇总 1. 使用Date对象 Date对象是 JavaScript 内置的日期时间对象,可以获取当前本地时间。通过setInterval方法实现定时更新。 示例代码如下: <p id="demo"></p&g…

    JavaScript 2023年5月27日
    00
  • 在JavaScript中访问字符串的子串

    访问字符串的子串是JavaScript中常见的操作之一,在本文中我们将详细讲解如何用JavaScript来访问字符串的子串。 查找子串的位置 JavaScript中的indexOf方法可以帮助我们查找子串在原字符串中的位置。它的基本语法如下: str.indexOf(searchValue[, fromIndex]) 其中 searchValue 表示要查找…

    JavaScript 2023年5月28日
    00
  • JavaScript 对象深入学习总结(经典)

    关于“JavaScript 对象深入学习总结(经典)”的完整攻略,我们可以将其分成以下几个部分进行讲解: 1. 对象的定义 在 JavaScript 中,对象是一种复合数据类型,它是由属性和方法组成的实例。对象可以看作是一个容器,它可以存储数据和方法。对象在 JavaScript 中非常重要,几乎所有的应用都离不开对象。 对象的定义方式有两种,一种是使用对象…

    JavaScript 2023年5月18日
    00
  • js前端上传文件缩略图技巧示例详解

    JS前端上传文件缩略图技巧示例详解 概述 随着移动设备的普及和网络带宽的提高,越来越多的网站开始支持大文件/多文件上传,而在上传前生成文件缩略图可以减轻服务器的负担,同时也能增强用户体验。本文将详细介绍JS前端上传文件缩略图的技巧。 目录 图片处理库 文件预览 文件MD5 文件分片上传 CORS跨域 图片处理库 在缩略图生成过程中,我们需要进行对图片的压缩、…

    JavaScript 2023年5月27日
    00
  • JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例

    下面是 “JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例”的完整攻略: 1. DOM节点插入操作 DOM节点插入操作指的是通过JavaScript代码来向HTML页面中插入新的HTML元素节点的操作,它的实现需要使用到Document对象提供的createElement()方法来创建新节点,以及appendChild()方法来将新节点添加到指定的父…

    JavaScript 2023年5月28日
    00
  • javascript asp教程第六课– response方法

    下面是详细讲解“javascript asp教程第六课– response方法”的完整攻略: 一、什么是response对象? 在 ASP 中,response 对象代表向客户端发送输出时使用的方法和属性。它允许 ASP 页面向客户端浏览器发送文本、HTML、XML 或任何其他类型的数据。下面是response对象的一些常用方法: Write(strTex…

    JavaScript 2023年5月28日
    00
  • javascript实现检验的各种规则

    对于JavaScript实现验证规则的攻略,我们可以有以下步骤: 步骤一:梳理验证规则 首先,我们需要梳理需要验证的规则,例如: 邮箱格式是否正确 手机号格式是否正确 密码是否符合要求 等等 步骤二:编写验证函数 接下来,我们需要编写验证函数来实现验证规则。可以定义一个公共的函数,如 validator(),接收两个参数,一个是需要验证的值,另一个是规则。示…

    JavaScript 2023年5月20日
    00
  • JavaScript Timer实现代码

    下面我来介绍怎么实现JavaScript Timer。 一、概述 JavaScript Timer是一种可以在特定时间间隔内重复执行代码的方法。通常在需要动态更新UI元素、周期性发送数据、定期清理缓存等大量场景中都会采用JS Timer。 二、实现过程 在JavaScript中实现定时器有多种方法,如: 1. setInterval和clearInterva…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部