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> 
4

3 に答える 3

1

オブジェクトにに設定allowScriptAccessalwaysて、HTMLを含むタグを埋め込んでみてください。

Flash Playerの最近のバージョンでは、デフォルト値は「sameDomain」です。これは、現在の動作を説明しています。


編集には、より多くの情報が役立つ場合がありますが、上記のように直接ではなく、_rootまたはを使用してパラメーターにアクセスする必要がある可能性があります。この問題との説明については、_level0Adobeのドキュメントを_root参照してください。


埋め込みコードに基づいて、調査する価値があると思います_root

オブジェクトタグは少し非標準であるため、いくつかの問題がある可能性があります。

  1. Joshが提案したケースの問題があるようです:clickTagvsclickTAG
  2. dataパラメータを属性URL に追加するのに役立ちますか?
  3. おそらく、アドビが提案したタグを試してみると役に立ちますか?
  4. また、ファイルをSWFではなくSWCとしてパッケージ化することの重要性は何ですか?

SWFを制御できる場合は、FlashVarsに直接アクセスすることを検討してください。

于 2010-02-15T21:51:12.493 に答える
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; }

免責事項:それをテストしていません。;-)

于 2010-02-16T16:58:55.517 に答える
0

未定義に関する質問の2番目の部分に答えるには、クリックタグで大文字と小文字が区別されます。パラメータと変数が大文字と小文字が一致することを確認してください。または、念のために次のスニペットを追加することもできます。

on (release) {
   var myCT:String = clickTAG;
   if(myCT == ""){
      myCT = clickTag;
   } 
   if(myCT == ""){
      myCT = clicktag;
   } 
   getURL(myCT, "_blank"); 
}
于 2010-02-16T16:50:53.637 に答える