flash輕松讀取文件
flash利用LoadVars()類中的sendAndLoad方法,可以輕松讀取文件,包括php、asp等動(dòng)態(tài)語(yǔ)言的文件。LoadVars對(duì)象通過(guò)其sendAndLoad方法將對(duì)象中的屬性變量發(fā)送(send)到指定的URL,同時(shí)載入(load)服務(wù)端器的輸出變量并將其放入目標(biāo)對(duì)象中。flash通過(guò)sendAndLoad讀取文件的方法,不是本文討論范疇,請(qǐng)參考相關(guān)例子。
flash不能跨域讀取文件
出于安全的考慮,在默認(rèn)情況下,flash與網(wǎng)頁(yè)的交互過(guò)程中,flash訪問(wèn)文件的時(shí)候,是只能夠訪問(wèn)同域里的文件,不能訪問(wèn)異域里的文件的。這樣,將對(duì)我們的某些需求帶來(lái)困擾。比如我有很多個(gè)網(wǎng)站,而這些網(wǎng)站的某些信息是可以共享的,我想利用flash來(lái)實(shí)現(xiàn)跨網(wǎng)讀取共享的信息。在flash默認(rèn)的情況下,是不允許這樣操作的,flash只能訪問(wèn)同域中的文件。
利用crossdomain.xml,flash實(shí)現(xiàn)跨域讀取文件
不過(guò)事情并不是十分糟糕,我們可以另外做些配置工作,以達(dá)到flash跨網(wǎng)訪問(wèn)的目的。crossdomain.xml為我們解決了這個(gè)難題。
crossdomain.xml的格式非常簡(jiǎn)單,其根節(jié)點(diǎn)為<cross-domain-policy> ,其下包含一個(gè)或多個(gè)<allow-access-from>節(jié)點(diǎn),<allow-access-from>有一個(gè)屬性domain,其值為允許訪問(wèn)的域,可以是確切的 IP 地址、一個(gè)確切的域或一個(gè)通配符域(任何域)。
crossdomain.xml文件存放位置,將其存放于站點(diǎn)根目錄中。
crossdomain.xml代碼一:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="gazebo2go.com" />
<allow-access-from domain="*.webkaka.com" />
<allow-access-from domain="192.168.0.1" />
</cross-domain-policy>
crossdomain.xml代碼二:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
第一個(gè)代碼允許所列域名和IP訪問(wèn),第二個(gè)代碼允許任何域的訪問(wèn)。