2010-02-11 40 views
0

我們有一個閃存文件,它具有URL參數用於重定向點擊。當它從主域中託管並且SWF包含在主域中的HTML中時,重定向將正常工作。未從同一虛擬主機加載時出現閃存重定向問題

但是,當它位於輔助域上,且SWF包含在主域中的HTML中時,重定向不起作用。我已經爲主域和輔域添加了crossdomain.xml文件,認爲這可能有幫助。下面包含了crossdomain.xml文件的內容。

我錯過了什麼?

的crossdomain.xml

<cross-domain-policy> 
    <allow-access-from domain="*"/> 
</cross-domain-policy> 

編輯:這是用於 「重定向」 的動作。

動作

on (release) { 
    getURL(clickTag); 
} 

clickTag的是我們傳遞的通過查詢字符串參數。

編輯:添加allowScriptAccess="always"嵌入代碼,並<param name="allowScriptAccess" value="always" />object標籤後,窗口打開,位置趨於/undefined。思考?

編輯:按照要求,這裏我們使用的是實際的對象/嵌入代碼:

<object type="application/x-shockwave-flash" data="/files/2348.swc" width="300" height="250" class="ad" onclick="ad_click(169);"> 
<param name="movie" value="/files/2348.swc?clickTAG=http://www.google.com"/> 
<param value="high" name="quality"> 
<param value="#FFFFFF" name="bgcolor"> 
<param value="always" name="allowScriptAccess"> 
<param value="transparent" name="wmode"> 
</object> 
+0

你是如何做這個「重定向」? – sberry 2010-02-11 02:29:34

+0

爲了您的編輯,我們需要更多關於clickTag如何填充的信息。當你說查詢字符串時,是指HTML網址還是SWF網址?無論哪種方式,Flash代碼如何檢索數據? – 2010-02-16 17:19:53

回答

1

嘗試在包括HTML的object和embed標籤設置allowScriptAccessalways

Flash Player的recent versions的默認值爲「sameDomain」,它解釋了您當前的行爲。


您進行修改,它可以幫助有更多的信息,但您可能需要使用_root_level0,而不是正上方來訪問你的參數。請參閱Adobe的docs on this problem_root的說明。


根據您的嵌入代碼,我仍然認爲它可能是值得你考慮_root

你的對象標記是有點不標準,所以有可能會出現一些問題:

  1. 你似乎有喬希認爲這裏的情況的問題:clickTag VS clickTAG
  2. 它是否有助於添加參數到data屬性的URL?
  3. 也許嘗試Adobe suggested標籤會有幫助嗎?
  4. 此外,將文件打包爲SWC而非SWF文件有什麼意義?

如果您可以控制SWF,則可以考慮直接撥打FlashVars

0

回答關於不確定問題的第二部分 - 點擊代碼是區分大小寫確保參數和變量匹配的情況下,或者你可以添加以下代碼片段只是要確定:也許

on (release) { 
    var myCT:String = clickTAG; 
    if(myCT == ""){ 
     myCT = clickTag; 
    } 
    if(myCT == ""){ 
     myCT = clicktag; 
    } 
    getURL(myCT, "_blank"); 
} 
0

你可以使用Javascript來做實際的重定向。

例如,從AS3代碼中,使用ExternalInterface調用執行重定向的JS函數。

import flash.external.ExternalInterface; var retval:int = ExternalInterface.call("redirect()", " http://the_redirect_url/ ");

然後在JS:

function redirect(url) { window.location = url; }

免責聲明:沒有測試它。 ;-)