flash許可權控制

2021-09-01 17:38:34 字數 1381 閱讀 4381

1.什麼叫相同域,什麼叫不同的域呢?當兩個域具有相同的協議(如http), 相同的埠(如80),相同的host(如www.example.org),那麼我們就可以認為它們是相同的域。比如 和是同域,而 中的任何兩個都將構成跨域。

摘自2.如何在本地測試跨域訪問?

127.0.0.1 www.1.com

127.0.0.1 www.2.com

新建乙個as工程,生成兩個swf,比如a.swf和b.swf。然後在a中載入b即可,**如下:

var loader:loader = new loader();

loader.contentloaderinfo.addeventlistener(event.init, init);

var url:string = "";

loader.load(new urlrequest(url));

function init(event:event):void

由於b屬於www.1.com域,當我們開啟www.2.com/a.swf或localhost/a.swf時就會報出安全錯誤。

securityerror: error #2121: 安全沙箱衝突:loader.content: 不能訪問 。可以通過呼叫 security.allowdomain 來避免此衝突。

at flash.display::loader/get content()

at function/domaintest/private:domaintest/init()[e:\cuixuworkspace\securitytest\src\a.as:23]

解決辦法就是在b.swf中新增:

security.allowdomain("www.2.com");[u][b]允許www.2.com訪問這個b.swf檔案,在adobe的官網上關於這段的描述是錯的,那句話少了個之外,看到那個翻譯當時自己還意外了下。[/b][/u]

3.由於不可執行檔案(也就是非swf檔案)不能呼叫allowdomain**,所以這類檔案的信任機制在flash player中有不一樣的處理方法。這就是跨域(cross-domain)策略檔案派上用場的地方。跨域策略檔案是乙個放在**的根網域名稱下的命名為crossdomain.xml的xml檔案。和allowdomain類似,定義了一組可以被flash player載入的安全**網域名稱。乙個簡單的跨域策略檔案的例子如下:

<?xml version="1.0"?>

這表示允許來自example.com的任意子域或www.example-partner.com的swf檔案載入example.com下的檔案。

4.本地安全域

這些檔案就像你本地的跨域策略檔案一樣。當flash player讀取的時候,信任授權給swf,並覆蓋swf檔案中關於本地訪問許可權的標識,從而允許受信的swf能夠同時訪問本地和網路

Flash聲音控制詳解

聲音是多 的重要組成元素,恰當 靈活地運用聲音往往是多 作品的成敗關鍵。flash作為人們喜愛的多 工具,其聲音的使用方式也豐富多樣,本文 了在flash中使用聲音的幾種情況,希望能對大家有所幫助。一 在時間軸中使用聲音 這是flash中聲音最常使用的方式,任何一本flash教材都會講到這個問題,所...

flash進度控制條

這是我在做flash mv時做的,看下效果 下面是 絕命時刻 2007年5月18日 flash影片進度控制條 版本 1.1 特點 智慧型判斷,前期無須做任何設定工作,只需把 進度控制棒全部 這個影片剪輯 mc 拖到主場景放好位置既可使用 拖拽 false onenterframe function ...

flash進度控制條

這是我在做flash mv時做的,看下效果 下面是 絕命時刻 2007年5月18日 flash影片進度控制條 版本 1.1 特點 智慧型判斷,前期無須做任何設定工作,只需把 進度控制棒全部 這個影片剪輯 mc 拖到主場景放好位置既可使用 拖拽 false onenterframe function ...