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

让我们详细讲解“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日

相关文章

  • flvplayer.swf flv视频播放器使用方法

    下面是一份“flvplayer.swf flv视频播放器使用方法”的完整攻略,希望对您有所帮助。 概述 flvplayer.swf 是一种在网页上播放flv格式视频的工具,可以很好地支持flv视频的播放,并且提供了许多可定制化的选项,是一款非常实用的web视频播放工具。 安装 你可以在官方网站上下载最新版本的flvplayer.swf,并将其引用到你的HTM…

    JavaScript 2023年6月11日
    00
  • javascript随机之洗牌算法深入分析

    JavaScript随机之洗牌算法深入分析 在本文中,我们将深入分析JavaScript中的洗牌算法,了解其原理、使用方法以及一些常见的实现方式。 什么是洗牌算法 洗牌算法又称置换算法,是一种把一组数据随机打乱顺序的算法。在实际应用中,洗牌算法被广泛应用于各种领域,比如打牌、抽奖、非对称加密等。 如何实现洗牌算法 洗牌算法有多种实现方法,下面将介绍其中两种比…

    JavaScript 2023年5月28日
    00
  • js异或运算符^小技巧分享

    接下来我将为您详细讲解 JavaScript 异或运算符 ^ 的小技巧分享。 什么是异或运算符 异或运算符是一个二元运算符,可以用 ^ 来表示。在计算机科学中,异或运算符用来比较二进制位,如果对应的两个二进制位相同,则结果为 0,否则为 1。因此,我们可以使用异或运算符进行二进制运算、位运算、甚至字符串加密等操作。 异或运算符的小技巧 将两个值交换 使用异或…

    JavaScript 2023年5月28日
    00
  • JavaScript里实用的原生API汇总

    JavaScript里实用的原生API汇总 什么是原生API? 在 JavaScript 中,原生 API 是指可以直接在浏览器中使用的 JavaScript 函数和对象。它们已经被封装到浏览器中了,可以直接使用,无需安装额外的库或框架。 以下是一些常见的原生 API: DOM API:用于操作文档对象模型(DOM)的 API。 BOM API:用于操作浏览…

    JavaScript 2023年5月28日
    00
  • 基于JS实现弹性漂浮广告的示例代码

    下面是基于JS实现弹性漂浮广告的完整攻略: 思路 使用position: fixed实现元素的固定位置,定义元素距离浏览器顶部的距离。 在需要使用该广告的页面中添加JS文件或script代码段。 通过JS代码,利用setInterval来实现广告元素的动态滚动。 通过监听窗口大小的变化,实现响应式布局,调整广告元素的位置和大小。 代码实现 CSS 定义广告元…

    JavaScript 2023年6月11日
    00
  • Ajax跨域实现代码(后台jsp)

    下面我来为你详细讲解“Ajax跨域实现代码(后台jsp)”的完整攻略。 简介 在介绍Ajax跨域实现代码前,我们先来了解一下什么是跨域。跨域是指两个不同域名、不同端口、不同协议的网页之间相互访问的情况。同源策略会限制跨域访问,但是在实际开发中,跨域是经常用到的技术,这时候我们需要实现跨域访问。 Ajax实现跨域 Ajax实现跨域有多种方法,其中一种方法是:使…

    JavaScript 2023年6月11日
    00
  • Ajax的使用四大步骤

    当我们需要在不刷新网页的情况下更新部分数据时,可以采用Ajax技术。Ajax是Asynchronous JavaScript And XML的简称,其核心是通过JavaScript和XML来实现异步通信。下面是Ajax的使用四大步骤的完整攻略。 1. 创建XMLHttpRequest对象 在JavaScript中,创建XMLHttpRequest对象的方式如…

    JavaScript 2023年6月11日
    00
  • js jquery数组介绍

    JavaScript 和 jQuery 数组介绍 在 JavaScript 和 jQuery 中,数组是一个强大的数据类型,它可以保存多个值,并且可以轻松地进行操作和访问这些值。本篇文章将介绍如何使用 JavaScript 和 jQuery 的数组,并且提供一些案例来帮助你更好的理解它们。 如何创建 JavaScript 和 jQuery 数组 在 Java…

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