• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 20,  comments - 13,  trackbacks - 0
            如果我們只是做一個(gè)單機(jī)版的swf,與世隔絕,那么完全不會接觸到接下來我們要說的這么多東西。。??梢娞岣邔δ沩?xiàng)目的要求是使你學(xué)習(xí)更多知識的方法。

            最常見的,我們有這樣一個(gè)主swf(為了簡單說明,再假設(shè)只有這么一個(gè)swf),另外我們有很多資源:jpg,png,xml,txt,swf等等,我們將之放在一個(gè)文件夾Resource下,然后將Resource和主swf放在同一個(gè)目錄下,然后我們通過這個(gè)swf加載、訪問這些資源,我們發(fā)現(xiàn),非常沒有問題。

            然而,當(dāng)我們最終需要將這個(gè)swf放在網(wǎng)頁上,并且將那些資源都放在網(wǎng)頁上,那么他們最好還是跟本地一樣的文件結(jié)構(gòu)存放,但是我們知道,網(wǎng)頁上的swf肯定不會自己跑出來顯示,肯定是要網(wǎng)頁來加載他,在網(wǎng)頁中通過"***.swf?p=...&p2=.."這樣的方式來調(diào)用這個(gè)swf和傳參數(shù)。如果這個(gè)網(wǎng)頁也是和swf放在同一個(gè)文件夾下,那也是沒問題的??墒俏覀冇锌赡軙泻芏噙@樣的網(wǎng)頁,都放在一個(gè)文件夾很難管理,于是我們將他們放在不同的文件,這就會導(dǎo)致這樣的問題:A網(wǎng)頁是放在"../1/2/A",B網(wǎng)頁是"../5/5/B",那么URLRequest的默認(rèn)路徑是哪個(gè)呢?是主swf所在的位置么?錯,其實(shí)是看具體調(diào)用它的網(wǎng)頁的地址,例如A調(diào)用時(shí),URLRequest默認(rèn)路徑是"../1/2/",這樣的話,如果我們URLRequest()時(shí)只會在A或B下面找,而不會在swf所在的目錄中找,自然找不到。所以我們的做法是:獲得主swf的絕對路徑,將之作為URLRequest的路徑。要想獲得該swf的絕對路徑,可以這樣:test = stage.loaderInfo.url; 另外我們要將文件名去掉:
            test .slice(0,test.lastIndexOf("/")+1);理論上這在本機(jī)上也行得通,但是實(shí)際上是:顯示安全沙箱出錯或者是加載資源出錯。為什么呢?

            看看這個(gè)例子就知道了:
            在本機(jī)上,我們運(yùn)行swf,得到的test的值為file:///C://test/test.swf,路徑也就是file:///C://test/
            在本機(jī)上,我們運(yùn)行同個(gè)目錄下的html文件,發(fā)現(xiàn)沙箱問題、加載問題等等問題,test的值是file://C:\test\,這就難怪他找不到了

            于是我們要改成:
            test .slice(0,test.lastIndexOf("\\")+1);  注意,前面的\只是轉(zhuǎn)義字符,實(shí)際上就是讓路徑遇到最后一個(gè)"\"時(shí)截止。這樣的話按道理本機(jī)運(yùn)行swf會有問題,但是實(shí)際上卻是沒有問題。。。

            由于之前這個(gè)問題一直纏繞著我,導(dǎo)致我將它和安全沙箱問題混淆了,以為安全沙箱是多么恐怖的事情。

            其實(shí)安全沙箱很簡單:
            當(dāng)兩個(gè)不同文件夾下面的文件(這兩個(gè)文件至少一個(gè)是swf)要通信時(shí),會出現(xiàn)安全沙箱問題??捎孟旅娴娜我庖粋€(gè)方法解決:
            1.在swf里面通過Security.allowDomain("另一個(gè)文件的地址和名字");
            2.在另一個(gè)文件所在文件夾下建一個(gè)crossdomain.xml,里面寫上:
                <cross-domain-policy><allow-access-from domain="允許訪問的對方的地址和名字" /></cross-domain-policy>
            3.如果這兩個(gè)文件中一個(gè)是網(wǎng)頁的話,可以在網(wǎng)頁調(diào)用swf的標(biāo)簽處加上:allowScriptAccess="允許訪問的對方的地址和名字"
            4.萬不得已、僅在平時(shí)調(diào)試時(shí):在C:\windows\system32\Macromed\Flash\FlashPlayerTrust 下面,新建一個(gè)隨便的txt文件,里面將你要設(shè)置為同個(gè)域的文件名(包括路徑),每個(gè)一行寫在里面,然后將文件改后綴為.cfg(其實(shí)txt應(yīng)該也沒問題)。



            posted on 2010-05-14 17:40 ACong 閱讀(767) 評論(0)  編輯 收藏 引用

            <2010年5月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            廣商豪杰

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲AV伊人久久青青草原| 久久高潮一级毛片免费| 亚洲精品无码久久久久去q| 色婷婷综合久久久久中文 | 日韩欧美亚洲国产精品字幕久久久| 久久久久久久国产免费看| 亚洲伊人久久精品影院| 久久国产综合精品五月天| 日日躁夜夜躁狠狠久久AV| 久久久久久A亚洲欧洲AV冫| 久久精品国产亚洲AV无码偷窥| 久久久久亚洲精品无码网址 | 欧洲成人午夜精品无码区久久| 国产AⅤ精品一区二区三区久久| 伊人久久精品无码av一区 | 麻豆成人久久精品二区三区免费| 久久av免费天堂小草播放| 99久久国产热无码精品免费| 久久无码AV一区二区三区| 久久久亚洲精品蜜桃臀| 久久天堂电影网| 99麻豆久久久国产精品免费| 亚洲精品高清国产一线久久| 亚洲精品视频久久久| 精品久久国产一区二区三区香蕉 | 婷婷久久综合| 看全色黄大色大片免费久久久| 亚洲成人精品久久| …久久精品99久久香蕉国产| 欧美噜噜久久久XXX| 亚洲中文久久精品无码| 伊人久久精品无码二区麻豆| 精品综合久久久久久97| 久久精品中文字幕一区| 亚洲精品tv久久久久久久久| 亚洲中文字幕无码久久2020| 久久这里只有精品18| 2022年国产精品久久久久| 久久精品国产福利国产秒| 国产精久久一区二区三区| 国产亚州精品女人久久久久久|