H

© H | Powered by LOFTER

【笔记】关于ActionScript3 的一些记录

生理痛
好吧,拖Actionscript的服, 把ECMAscript标准重新补了个遍。瞬间觉得连javascript基础都没打牢的我是多么渺小
记录两个昨天纠结很久很久的问题的解决方案
Birth -- 東山奈央
オルゴールCD 宮崎駿の世界
コンプリケイション デュラララ!!盤(期間生産限定盤)
太鼓の達人オリジナルサウンドトラック「サントラ2008」

关于沙箱
坑爹的问题,因为沙箱的一些个安全设置导致本地调试和在线上的时候产生一堆怪异的code没问题,就是无法调用
下面的code直接允许全部域名调用和被调用,上线之后最好去掉 仅本地调试用
Security.allowDomain("*");
Security.allowInsecureDomain("*");
关于XML标签中有xmlns属性时无法解析
这里纠结了好久好久,真心觉得中文在找技术类问题时的压力
在StackOverflow找到的几个解决方法
atom feed xmlns attribute messes up AS3's XML-parsing?
var xml:XML = XML() ;
trace(xml.entry.length()) ;
// output: 0
 
var ATOM:Namespace = new Namespace( "https://www.w3.org/2005/Atom" );
trace(xml.ATOM::entry.length()) ;
// output: 3
 
default xml namespace = ATOM;
trace(xml.entry.length()) ;
// output: 3
这个方法实际应用的时候总会提醒ATOM未定义,总之不是很明白 既然不明白那就先想办法用其他方法解决
于是回到老本行,用正则把xmlns从xml字段里替换掉
xml.replace("xmlns=","xmlns:default=");
~问题解决
在html DOM中定位swf用的函数优化
一般需要定位swf,并兼容全部浏览器使用的一般是
function thisMovie(movieName){
return navigator.appName.indexOf("Microsoft") != -1 ? window[movieName] : document[movieName];
}
这种根据浏览器判断方法的解决方案本身就不是很喜欢,而且在IE9里面表现异常
于是如下 更短,更精确

var swf=function(i){return document[i]||$(i)};

html部分需要配合一下,按照如下方案定义 兼容IE6+ 新版FF/chrome/opera
<object id="swf" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
<param name="src" value="test.swf" />
<embed name="swf" type="application/x-shockwave-flash" src="test.swf" />
</object>

______________________________________________
右面的自定义搜索其实还可以当查看google收录情况用嘛
比如发表文章之后不到5分钟右面就找到之类的-_____________-
评论 ( 14 )