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