確保外部js介面可用:
if (ExternalInterface.available) {
ExternalInterface.xxx
}
---------------------------------------------------------
確保BitmapData初始化成功:
try {
//init Bitmapdata
} catch (e:ArgumentError) {
}
--------------------------------------------------------
網路載入出錯分支處理:
var _urlLoader:URLLoader = new URLLoader();
_urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
try {
_urlLoader.load(new URLRequest(""));
} catch (e:Error) {
}
-------------------------------------------------------
安全沙箱載入策略檔案:
var _loader:Loader = new Loader();
_loader.load(new URLRequest(""),new LoaderContext(true));
-------------------------------------------------------
註冊外部容器,通過事件冒泡獲得內部引用:
var _container:DisplayObjectContainer;
var obj1:DisplayObject;......and many
addChild(obj1);.....and many
_container.addEventListener(MouseEvent.CLICK,onClickHandler,true);
function onClickHandler(e:MouseEvent):void {
var obj:DisplayObject = e.target as DisplayObject; //obj...
}
-------------------------------------------------------
事件監聽自刪除:
obj.addEventListener(MouseEvent.CLICK,onClickHandler);
function onClickHandler(e:MouseEvent):void {
e.currentTarget.removeEventListener(e.type, arguments.callee);
}
--------------------------------------------------------
Math函數替換:
Math.abs; ---> num > 0 ? num : -num;
Math.floor; ---> int(num) or num>>0;
Math.ceil; ---> int(num) + 1 or num>>0 + 1;
Math.max: ---> num = a > b ? a : b;
Math.min: ---> num = a > b ? b : a;
Math.round: ---> int(num + 0.5) or (num + 0.5)>>0;
1,擷取flashvars:
var paramObj:Object = LoaderInfo(root.loaderInfo).parameters;
if (paramObj["xxxxx"]) xxxxx= encodeURIComponent(paramObj["xxxxx"]);
2,Security.allowDomain的作用:
允許某網域名稱下js或swf或anything else,訪問該swf內部的函數和方法。
3,allowScriptAccess
有always,sameDomain,never三個值~定義了swf是否能夠訪問頁面的javascript代碼,決定了ExternalInterface.call之類的方法是否能訪問成功。
原帖地址:
http://hi.baidu.com/dannyfd/blog/item/fa0c791a0664e84b42a9ad69.html
http://hi.baidu.com/dannyfd/blog/item/065ab98eff303800b31bbad3.html