AS代码2.0:针对Flash Player 7

2016-01-29 12:42 3 1 收藏

AS代码2.0:针对Flash Player 7,AS代码2.0:针对Flash Player 7

【 tulaoshi.com - Flash 】

Flash Player 7比以前的Flash播放器支持更多的动作脚本命令,可以使用这些命令来编写更稳健的脚本。不过,如果在现有的脚本中使用了这些命令,并针对Flash 7播放器发布该脚本,它也许不能正确工作。例如,如果你有一个脚本,其中有一个函数名使用了Error,该脚本也许可以正确编译,但并不能按照Flash 7播放器的方式运行,因为在现在的动作脚本语言中Error是一个内建类(因此,Error是一个保留字)。可以通过修改脚本,把Error函数名改为其它名字来解决,如ErrorCondition。

  Flash 7播放器也有了很多变化,这些变化影响到一个SWF文件怎样访问另一个SWF文件,怎样载入外部数据,怎样访问本地设置和数据(如隐私设置和本地永久共享对象)。最后,一些现有的特性也已经改变。

  如果你现有的脚本是针对Flash 6或更早版本的播放器编写的,但又想针对Flash 7播放器发布,你可能需要修改你的脚本,以便它们符合Flash 7播放器的执行要求并能按设计思路工作。下面我们就介绍这些相关知识。



  一、遵从ECMA-262 Edition 4方案

  Flash 7播放器作了一些修改,使之更加符合ECMA-262 Edition 4方案。在动作脚本语言2.0中,除了可以使用基于类的编程技术外,也增加了其它特性,某些行为也已修改。当你针对Flash 7播放器发布且使用动作脚本语言2.0时,你可以不把一种对象类型指派给另一个。这些功能不要求你更新现有的脚本,但是,如果你针对Flash 7播放器发布发布你的脚本,你可以使用这些功能,然后继续修订和改进。

  与上面提到的变化不同,下表列出的变化(其中也有一些不完全遵从ECMA方案)可能导致现有脚本的执行结果与以前不同。如果你在针对Flash 7播放器发布的现有脚本中使用了这些特性,请查看一下这些变化,确保你的代码能够按照设计计划运行,或确定是否需要重写代码。特别是,计算undefined(未定义)项的结果在某些情况下是不同的,你应该在针对Flash 7播放器发布的脚本中初始化所有的变量。 针对Flash 7播放器发布的SWF文件针对早期Flash播放器发布的SWF文件 支持区分大小写(只是大小写不同的变量名被解释为不同的变量)。这种变化也影响用#include指令载入的文件和使用LoadVars.load()命令载入的外部变量。不区分大小写(只是大小写不同的变量名被解释为相同的变量)。在数值上下文中计算undefined项的返回结果是NaN。在数值上下文中计算undefined项的返回结果是0。myCount +=1;
trace(myCount); // NaN
myCount +=1;
trace(myCount); // 1
当undefined项被转换为字符串时,其结果是undefined。当undefined项被转换为字符串时,其结果是""(空字符串)。firstname = "Joan ";
lastname = "Flender";
trace(firstname + middlename + lastname);
// Joan undefinedFlender
firstname = "Joan ";
lastname = "Flender";
trace(firstname + middlename + lastname);
// Joan Flender
当把字符串转换为逻辑值时,如果该字符串的长度0,其结果为true;如果该字符串为空串,其结果为false。当把字符串转换为逻辑值时,首先把它转换为数值,如果该数值非0,其结果为true,否则为false。当设置数组的长度时,只有有效的数字字符串可设置长度。例如,"6"起作用,但" 6"或"6xyz"不起作用。当设置数组的长度时,即使是一个畸形的数字字符串也可设置长度:my_array=new Array();
my_array[" 6"] ="x";
trace(my_array.length); // 0
my_array["6xyz"] ="x";
trace(my_array.length); // 0
my_array["6"] ="x";
trace(my_array.length); // 7
my_array=new Array();
my_array[" 6"] ="x";
trace(my_array.length); // 7
my_array["6xyz"] ="x";
trace(my_array.length); // 7
my_array["6"] ="x";
trace(my_array.length); // 7

[next]

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

二、设置和本地数据的域名规则

  在Flash 6播放器中,当访问本地设置(如摄像机或麦克风访问许可)或本地永久数据(共享对象)时,默认使用超域匹配规则。也就是说,存放在here.xyz.com、there.xyz.com和xyz.com的SWF文件的设置和数据是共享的,且都存储在xyz.com中。

  在Flash 7播放器中,默认使用精确域匹配规则。也就是说,存放在here.xyz.com的文件的设置和数据存储在here.x

来源:https://www.tulaoshi.com/n/20160129/1487277.html

延伸阅读
flash player出现无法安装怎么办   flash player在我们上网的时候很重要,如果没有这个我们就无法在网上看各种动态图片和各种视频了,但是flash player在更新的时候老是出现各种问题,下面小编就给大家介绍一下flash player无法安装应该怎么解决,希望能够帮助到大家。   1、首先下载微软subinacl.msi,安装后有Window...
adobe flash player 安装失败怎么办   安装adobe flash  player的时候显示未成功安装是怎么回事呢,其实这主要和reset_minimal有关系,下面小编就给大家详细的介绍一下安装失败的解决方法,希望能够帮助到大家。   安装失败的解决方法: 遇到上述问题时,按照提示要安装专门的卸载程序,过程如下:(一般直接...
Flash Player 11.8 beta增强沙箱技术   Adobe在上周对Flash Player 11.8 Beta版进行了一次更新,主要是针对安全性方面的改进,此外在兼容性、性能等方面也有加强。 经过这次改动,在沙箱技术上也进行了增强,增强型的沙盒技术能够更好的处理应用程序在保护模式下的启动。 Flash Player 尽管Flash Player已经不再针...
标签: 计算机基础
切换帐号 首先切换到 root 账户 su - 下载文件 For Fedora 32-bit x86 rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux For Fedora 64-bit x86_64 rpm -ivh http://linuxdownload.adobe.com/a...
金山卫士怎么彻底卸载Flash Player插件   有围巾说想降级安装flash player插件,即便卸载新版本后也被提示不能安装老版本,Flash  Player插件比较特殊,最重要的就是BUG、漏洞居多,而在Windows平台现阶段又不是HTML5可以完全取代的,所以没办法就连微软都要帮他推送软件更新。正是因为老版本会有诸多问题,所以即便你卸载了新版...

经验教程

150

收藏

95
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部