我需要我的swf能夠看到它加載的頁面的域。通常情況下,我只是通過ExternalInterface來查看window.location,但在這種特殊情況下,swf將被嵌入到allowcriptaccess =「never」中,所以這不會起作用。有沒有一個真正的API會給我,還是我不得不訴諸醜陋的黑客?當我沒有腳本訪問權限時,如何獲取加載我的swf的頁面的域?
2
A
回答
2
ActionScript 3的實際上有一個屬性,您可以直接查詢,在flash.system.Security
(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Security.html#pageDomain),像這樣:
import flash.system.Security;
...
var domain:String = Security.pageDomain;
它會給你「[T]包含SWF的HTML頁面的他域部分「。
0
你有沒有嘗試過這樣的:
var pageURL:String = stage.loaderInfo.url;
0
0
事實證明,有這樣做的直接方式。但是,您可以執行以下操作:
- 有路徑SWF去腳本在服務器上
- 有一個腳本讀取引薦[原文]頭和302的靜態文件所在的服務器的swf文件是,將引用者的值放入變量中
- 解析URL(從loaderInfo.url獲取),並提取您添加的變量。
爲了防止被僞造該值(由人直接鏈接到靜態文件服務器,跳過重定向),你必須有你的靜態文件服務器驗證GET變量的值是一樣的在提供文件之前在referer頭文件中的值(我知道你可以在nginx中做)。
+0
「事實證明,沒有直接的方法來做到這一點。」 不真實。請參閱@ kontur使用'flash.system.Security.pageDomain'的正確答案。 – 2013-12-29 06:48:53
相關問題
- 1. 我們如何獲得當前的窗口訪問權限沒有活動?
- 2. 如何通知用戶他沒有訪問頁面的權限?
- 3. 獲取Facebook頁面訪問令牌沒有頁面所有權
- 4. crossdomain問題:當swf從子域加載時,swf框架腳本不會調用
- 5. 獲取當前域名時在Chrome的頁面加載失敗
- 6. 當我沒有SFTP訪問權限時,如何在Wordpress網站上運行jQuery?
- 7. 當我重新加載我的頁面時腳本加載圖像時,可能的FOUC效果
- 8. 權限訪問頁面
- 9. 權限訪問php頁面
- 10. 您沒有足夠的權限訪問此頁面
- 11. 您沒有足夠的權限訪問此頁面
- 12. 我如何限制我的頁面訪問? Symfony2
- 13. 當我從鏈接訪問頁面時,Javascript沒有被執行
- 14. 爲什麼我的ajax腳本重新加載我的頁面
- 15. jQuery腳本沒有AJAX加載頁面
- 16. 我有執行權限但沒有寫權限 - 我如何執行創建文件的腳本?
- 17. 在jquery腳本的頁面加載時獲取ID
- 18. 只有域名的訪問權限
- 19. Facebook發佈到我的頁面沒有publish_stream權限的牆
- 20. 重新加載沒有root權限的django wsgi腳本
- 21. 執行腳本的訪問權限
- 22. 如何限制訪問我的網頁
- 23. 在Ajax的加載頁面中訪問導入的Facebook腳本
- 24. 我如何獲得訪問我自己的擴展資源(特定頁面)的權限?
- 25. 我的swf如何從swf中獲取載入它的swf的屬性?
- 26. 我需要我的桌面應用程序訪問當前用戶沒有權限的網絡文件夾
- 27. Google Chrome沒有足夠的權限從我的腳本下載文件
- 28. Disqus有問題要加載我的頁面的緩存版本
- 29. 如何在沒有shell訪問權限的情況下啓動PHP腳本?
- 30. 當我加載頁面
返回swf的url,而不是swf加載的頁面的url。 – bobpoekert 2010-10-22 16:15:28
你能通過FlashVars參數將頁面的URL傳遞給swf嗎?這樣做的缺點是你可能會手動將其添加到嵌入文件的頁面中。 – cmann 2010-10-22 22:18:29
這可以是平凡的僞造。 – bobpoekert 2010-10-23 07:15:26