最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

flash as3.0 跨域的解決辦法

  發(fā)布時間:2013-07-02 13:01:24   作者:佚名   我要評論
Flash跨域問題相信不是所有人都可以遇到,如果你在本地發(fā)布,或者說直接Ctrl+Enter在FlashIDE中預(yù)覽,是不會遇到跨域問題的,當(dāng)然,跨域有個前提,那就是Flash不是完全獨立的,與外界要做一些通信和交互,如果你的Flash是完全獨立的文件,沒有和外界發(fā)生任何交互和數(shù)據(jù)
    Flash跨域問題相信不是所有人都可以遇到,如果你在本地發(fā)布,或者說直接Ctrl+Enter在FlashIDE中預(yù)覽,是不會遇到跨域問題的,當(dāng)然,跨域有個前提,那就是Flash不是完全獨立的,與外界要做一些通信和交互,如果你的Flash是完全獨立的文件,沒有和外界發(fā)生任何交互和數(shù)據(jù)通信的話,那么你可以不考慮跨域問題,因為這也不存在跨域問題。
什么是跨域?
    跨域簡單的說就是訪問其他域名的文件或資源,比如a.com的Flash去訪問b.com的資源,那么就會引起跨域的問題,因為a.com和b.com不是同一個域名。
為什么有跨域問題?
    其實不僅僅是Flash,Javascript等一些腳本也有跨域的問題,這個主要是自身的安全機制所決定的,因為跨域訪問一些文件或資源有一定的危險性,他超過了網(wǎng)站自身的范圍,對于站外的資源無法審核其安全性,在網(wǎng)絡(luò)病毒木馬日益猖獗的今天,跨域限制訪問是其安全策略的一個重要解決手段。
跨域有什么問題?
    跨域的問題有很多,最直接的就是所訪問的文件被限制了,這樣一來,你的Flash就不能正常工作了,所以是讓人很頭疼的一件事情。
現(xiàn)在的Flash已經(jīng)不僅僅是作為一個動畫了,更多的有了數(shù)據(jù)交互,所以和外界的通信來作為一個互動性比較強的媒介來展現(xiàn),跨域也是其中必須解決的一個問題。
恩,那也許有人說了,既然有跨域的問題,那我把資源都放在同一個域名下不就可以了?恩,的確可以這樣做,但是有時候我們也會遇到訪問外部資源的情況,而且在一個比較正規(guī)的項目中,F(xiàn)lash和Html往往是分開放的,很多公司也是這樣,為了便于維護和管理,所以跨域的問題就容易出現(xiàn)。
1、Flash自身的安全機制設(shè)置:
     Flash中,在IDE運行是沒有任何安全限制的,但是發(fā)布出去的話,就會有不少限制,F(xiàn)lash有2中發(fā)布方式,一個是僅訪問網(wǎng)絡(luò),一個是僅訪問本地,大家可以在文件-發(fā)布設(shè)置-Flash選項卡中看到,注意必須是在Flash文件有效時才會有哦,如果當(dāng)前編輯的是as文件是木有這個選擇菜單的:
 
    這里就已經(jīng)限制了Flash的安全級別,如果是只訪問本地,那么Flash中所有的對Web的訪問都將禁止,而只訪問網(wǎng)絡(luò)的話,對本地的文件訪問都將禁止,所以大家根據(jù)實際的用途來選擇,如果你希望你的Flash放到Web上,那么就選擇只訪問網(wǎng)絡(luò),這樣的話你測試就務(wù)必放在WebService中測試了,本地運行就會出現(xiàn)各種問題(如果有數(shù)據(jù)通信的話),例如:測試URLhttp://127.0.0.1/123.swf。
2、ActionScript代碼設(shè)置:
    AS2寫法:
復(fù)制代碼
代碼如下:
System.security.allowDomain("*");//針對不同http資源 System.security.allowInsecureDomain("*");//針對需要安全驗證的資源,比如https
    AS3寫法:
復(fù)制代碼
代碼如下:
flash.system.Security.allowDomain("*"); flash.system.Security.allowInsecureDomain("*");
    上面就是嚴格的寫法,AS3還好說,大家要注意一下AS2,AS2是木有flash.system這個包的,但是你import flash.system并不會報錯,所以如果你把AS3的代碼復(fù)制進去運行雖然一切正常,但是實際是木有任何效果的。一定要注意! 上面的代碼就是說允許Flash去訪問任何URL資源,如果只想訪問特定的URl,就把*改成該URL即可,如果多個URl,就用逗號分隔就可以了,注意allowInsecureDomain是允許訪問帶驗證的URL資源,比如https打頭的,如果你訪問的只是普通http的話就不需要了。 3、html的設(shè)置:
    如果你需要和頁面的JS通信,那么html里就必須有這樣一個參數(shù):
復(fù)制代碼
代碼如下:
<param name="allowScriptAccess" value="always" />
    參數(shù)always表示始終允許腳本訪問,如果是never,就表示始終不允許。 4、加載外部資源:     如果你要讀取一個外部文件,比如swf,picture,mp3等等,那么就需要一個跨域策略文件(crossdomain.xml),這個其實就是一個xml文件,具體內(nèi)容是:
復(fù)制代碼
代碼如下:
<?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="www.explorechn.com" /> <allow-access-from domain="explorechn.com" /> <allow-access-from domain="223.4.119.191" /> </cross-domain-policy>
    這就是跨域策略文件,allow-access-from domain表示允許訪問的URl,如果有多個依次添加,如果允許所有就一個 allow-access-from domain = "*"就可以了。 需要說明一下這個文件該怎么用,如果你的Flash在a.com下,你需要訪問b.com的資源,那么把這個xml放在b.com的根目錄就可以自動訪問了,當(dāng)然,你也可以訪問其他目錄的策略文件。
復(fù)制代碼
代碼如下:
flash.system.Security.loadPolicyFile(URL:String);
    通過這個loadPolicyFile就可以主動去加載一個安全策略文件了,注意上面是AS3的寫法,AS2不一樣哦,參考上面的寫法。 5、各個瀏覽器的跨域問題:     IE就不說了,這個基本沒啥問題,包括Flash自己生成的Html就對IE的支持做的很好,這里就說說Chrome和FF的問題: 對于FLash,IE是認object標(biāo)簽的,但是FF和Chrome是認embed標(biāo)簽的,所以這個很重要,如果在調(diào)試的時候,發(fā)現(xiàn)firebug等工具提示"...... is not a Function",我們就要從以下地方查找原因:     1、addCallback是否成功注冊     2、allowScriptAccess是否允許always,默認不允許     3、Flash是否完全加載完畢     一般來說,第三點是我們最容易遇到的,如果你的Flash沒有加載完畢就去調(diào)用函數(shù)的話,是找不到這個函數(shù)的。     這里需要注意另外一個錯誤提示,就是"Error calling method on NPObject",如果出現(xiàn)這個錯誤,就要小心了:     1、安全策略問題,請參考上面所有的解決方案     2、自身函數(shù)錯誤

相關(guān)文章

  • flash cs6鼠標(biāo)跟隨效果實現(xiàn)代碼分享

    flash cs6想要實現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下
    2019-05-19
  • Flash cs6怎么使用代碼輸入中英文文本?

    Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定義抽象類和抽象?

    flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://m.fzitv.net/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2018-01-25
  • Flash中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?

    本教程給大家分享一個Flash小教程,教大家在Flash CS6中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)
    2018-01-12
  • Flash中如何用代碼將圖片放在自己想要的舞臺位置?

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細,感興趣的朋友歡迎前來分享學(xué)習(xí)
    2017-11-20
  • 在Flash CS6中使用with函數(shù)繪制背景圖教程

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細,方法也不難,非常適合Flash新手入門學(xué)習(xí)
    2017-11-18
  • Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程

    Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下
    2017-10-11
  • Flash怎么制作來回搖擺的花朵的動畫?

    Flash怎么制作來回搖擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下
    2017-05-23
  • Flash怎么制作流動七彩色的文字?

    Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個流動七彩色的動畫呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2017-04-23

最新評論

象山县| 重庆市| 连江县| 富裕县| 洛南县| 临沭县| 巴林右旗| 寿阳县| 金门县| 噶尔县| 西安市| 苍南县| 黔西县| 台山市| 长沙市| 玛曲县| 永福县| 读书| 奉节县| 黄石市| 固原市| 邳州市| 德保县| 图木舒克市| 新巴尔虎右旗| 陕西省| 玉门市| 辉南县| 岳普湖县| 瓦房店市| 浙江省| 普陀区| 汕头市| 林州市| 崇义县| 荔波县| 兴海县| 阿巴嘎旗| 镇江市| 凌源市| 同德县|