我可以從Flex/AS3內部調用什麼,它會告訴我flex-app/web頁面是在本地文件系統內執行還是從web服務器(localhost或某個遠程服務器)。希望這是明確的。如果Javascript中有某些東西是可以接受的,但是一些AS3函數當然更可取。確定是否從網絡服務器調用
回答
中的應用類有一個屬性:URL
URL:字符串[只讀]
語言版本:ActionScript 3.0
產品版本:Flex 4個
運行時版本:Flash Player 10,AIR 1.5
來自此應用程序的SWF文件加載的URL。
實施
公共職能得到URL():字符串
你可以使用ExternalInterface
獲取應用程序的當前URL,並評估該字符串的方案:
文件:///
的http://
https://開頭
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function creationCompleteHandler(event:FlexEvent):void
{
trace(String(ExternalInterface.call(" function(){ return document.location.href.toString();}")));
}
]]>
</fx:Script>
</s:Application>
它太奇怪了 - 我想關於現在 - 不知道是否所有的瀏覽器一定會返回「文件:」如果被服務的文件。 – Mark 2012-04-05 04:58:59
一些可以從flash.system.Capabilities之類驗證此功能的純ActionScript測試會很好。安全政策也應該發揮作用。不確定這種實現在您的環境中對您的工作有多可靠,但最初似乎是可行的。 – 2012-04-05 05:06:01
如果沒有更好的發佈,我會將其標記爲答案。如果只是在FlashplayerSA本身進行測試,猜測它不起作用。我需要它的原因是因爲根據我的經驗,如果trustContent設置爲「True」,如果以「file:」運行SWFLoader將無法正常工作。如果有什麼地方可以在本地文件系統中放置一個crossdomain.xml文件,它可以工作,但我還沒有找到它 - 在C:\或任何地方。 trustContent必須是false或SWFLoader不會在本地文件系統中運行。任何人都知道我在那裏失蹤。 – Mark 2012-04-05 05:11:37
- 1. 從網絡服務器EMAIL
- 2. 從網絡服務POST到服務器
- 3. 確定致電網絡服務的服務器
- 4. 從jQuery調用.Net網絡服務
- 5. 如何確定一個網站是否使用亞馬遜的網絡服務?
- 6. ajax調用 - 網絡服務
- 7. 從網絡服務器確定iTunes訂閱的狀態
- 8. 亞馬遜網絡服務是否爲個人服務器合理定價?
- 9. 網絡應用服務器
- 10. 確定是否構建服務器
- 11. 網絡服務器 - 如何指定服務器使用
- 12. 無法通過網絡服務器使用網絡服務
- 13. 我的網絡服務是否有效?
- 14. 確定Rails服務器是否從rake任務運行
- 15. 無法啓動網絡服務器上的調試網絡服務器配置不正確
- 16. 確定服務器是否爲打印服務器
- 17. NowJs服務器到網絡服務器
- 18. 定時器在Java/ATG - 網絡服務調用
- 19. 從網絡服務器運行系統調用
- 20. PowerShell遠程調用。訪問被拒絕從網絡服務器
- 21. 從網絡服務器調用c/C++庫
- 22. ASMX網絡服務調試
- 23. 網絡服務器虛擬網絡
- 24. 如何確定網絡適配器是否是無線的?
- 25. 輪詢網絡以確定網絡是否可達?
- 26. 自定義網絡服務器緩存
- 27. 從網絡服務器上將
- 28. 從網絡服務器加載圖像
- 29. 自動從網絡服務器
- 30. 從Arduino網絡服務器讀取值
謝謝。之前使用過。忘了吧。 – Mark 2012-04-05 05:18:48