• <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

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            廣商豪杰

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久精品午夜免费不卡| 亚洲人成网站999久久久综合| 久久人人爽人人爽人人片AV东京热| 久久亚洲欧洲国产综合| 久久精品国产亚洲AV忘忧草18| 亚洲中文字幕无码久久综合网| 久久香蕉国产线看观看精品yw| 热99re久久国超精品首页| 日本欧美国产精品第一页久久| 国产精品久久久久久久久久影院| 久久精品国产第一区二区三区 | 一本一道久久综合狠狠老 | 无码人妻精品一区二区三区久久久 | 人妻久久久一区二区三区| 亚洲国产精品久久久久婷婷软件 | 亚洲精品无码久久久| AV无码久久久久不卡网站下载| 久久久久国产精品三级网| 人人狠狠综合久久88成人| 无码人妻久久一区二区三区蜜桃| 色偷偷偷久久伊人大杳蕉| 久久亚洲精品无码播放| 狠狠狠色丁香婷婷综合久久俺| 国内精品久久久久影院老司| 久久er国产精品免费观看8| AV狠狠色丁香婷婷综合久久| 国内精品久久久久久久久电影网| 国产精品久久久天天影视香蕉| 影音先锋女人AV鲁色资源网久久| 久久影视国产亚洲| 久久久久这里只有精品| 91精品国产91久久久久福利| 99久久国产精品免费一区二区| 久久久久国产视频电影| 久久九色综合九色99伊人| 久久综合综合久久狠狠狠97色88| 亚洲va中文字幕无码久久| 久久人人爽人人爽人人片AV麻烦| 色天使久久综合网天天| 久久午夜综合久久| 久久中文字幕视频、最近更新|