2013-05-15 30 views
1

因此,我想獲取正在播放閃存swf的域,而不是文件的位置。 如果我能得到ExternalInterface返回像這樣的值:獲取閃存swf文件正在播放的域

var domain:String = ExternalInterface.call("document.domain"); 

但上述生產null .... 它的一個橫幅廣告,所以我不能傳遞任何flashvars給它或調用自定義函數js

+1

http://stackoverflow.com/questions/2083121/getting-domain-in -as3 – Urosan

+0

不,返回swf文件的位置。正如我所說的,我需要正在播放文件的實際域。 – fjckls

回答

2

它返回null因爲你不叫什麼:

document.domain是一個變量,而不是一個方法調用的名稱。

嘗試用return document.domain代替。

編輯:

正確的語法是創建一個返回文檔的域的匿名函數:

import flash.external.ExternalInterface; 

var domain:String = ""; 

if (ExternalInterface.available == true) 
{ 
    try 
    { 
     domain = ExternalInterface.call("function() { return document.domain; }"); 
    } 
    catch (err:Error) 
    { 
     domain = "Error: " + err.message; 
    } 

    if (domain == null) domain = "No domain" 
} 
+0

這會產生JavaScript錯誤'未捕獲的SyntaxError:意外的令牌返回' – fjckls

+0

不幸的是我現在不能嘗試它。我將在接下來的8小時內檢查。 – Teejay

+0

對不起,我沒有時間測試。我明天再檢查一下! – Teejay