15

埋め込まれたFlash要素のどこかをクリックすると、リンク先URLに移動するようにしたいと思います。

これが私の現在のコードですが、望ましい効果は得られません。

<div class="contentdiv" style="margin:-72px 0 10px 0px; cursor:pointer;" onclick="location.href='http://example.com/';">

<object height="410" width="720">
<param name="movie" value="images/tri.swf">
<embed src="images/tri.swf" height="400" width="700"> 
</embed>
</object>

</div>

現在、リンクの.swfファイルの後ろのスペースをクリック可能にしていますが、Flash要素はクリック可能ではありません。

なんらかの方法で.swfファイルを編集するのが正しい場合は、そのことを知らせてください。私は自分自身をFlash開発者とは考えていませんが、どこから始めればよいのか、既存の.swfファイルを使ってこの基本的なことを行う方法についてのリソースはありますか?

どんな提案でも大歓迎です!

4

10 に答える 10

14

私は同じ問題を抱えていて、このスレッドを見つけましたが、最終的には独自のソリューションを作成しました。

リンクに透明な要素を追加し、埋め込まれたswfに重ねました

<a href="http://example.com/" target="_blank">
  <object height="410" width="720"><param name="movie" value="http://www.theslap.com/swf/slap_logo.swf">
    <embed src="http://www.theslap.com/swf/slap_logo.swf" height="400" width="700"></embed>
  </object>
  <i style="display:block; height: 410px; width: 720px;  position: relative; z-index: 9; margin-top: -410px;"></i>
</a>

注 - プロダクション コード用に別のファイルに css を含める必要があります。

于 2012-03-14T21:30:38.937 に答える
6

さらに調査した後の更新:

この質問は以前に尋ねられたものであり、最良の答えは、フラッシュ内にリンクを作成する必要があるということです。

通常、これは、パラメータ(通常はclickTAGという名前)を.swfに渡して、リンク先を指定することで動的に実行されます。

あなたの場合(他の誰かがあなたのswfファイルを提供したので)私は2つのオプションを見ることができます:

  1. .swfの作成者はすでにclickTAGメソッドを実装している可能性があります(彼らに尋ねるか、.swfで試してみて動作するかどうかを確認してください)。
  2. clickTagを実装するフラッシュラッパーファイルを作成し、それをロードして.swfファイルを表示させることができます。これはハックのように思えますが、他の選択肢はありません。

お役に立てれば!


私もこのようなものが使われているのを見ました[編集:しかし私はそれを動かすことができません!グーグルはそれが不可能であることを示唆している]

<a href="http://example.com/" target="_blank">
 <object height="410" width="720"><param name="movie" value="images/tri.swf">
 <embed src="images/tri.swf" height="400" width="700"></embed>
 </object>
</a>

(たとえば、ここで

于 2010-01-22T18:13:51.280 に答える
3

z-indexを使用してフラッシュ上に透明な.gifまたは.pngファイルを配置し、その透明な画像をURLで固定します。

于 2011-04-01T20:50:43.980 に答える
1

FlashVarsステージ上で編集可能なボタンを持ち、そのボタンの下にある対象のswfにロードする独自のswfを作成する(または誰かにやってもらう)ことができます。

私はあなたのために作成しました:ダウンロード.

埋め込むときに 2 つの FlashVar を追加するだけです。

  1. url- SWF をクリックした場合にアクセスされる URL。
  2. swf- ロードする swf ファイル。
于 2012-03-14T21:55:16.800 に答える
1

私が見つけた最良の方法があります

<div class="flash-wrap">
   <a class="flash-link" href="#"></a>
   <object type="application/x-shockwave-flash" data="flash.swf" width="180" height="220">
      <param name="wmode" value="opaque">
      <param name="movie" value="flash.swf" />
      <param name="quality" value="high" />
   </object>
</div>

 

 .flash-wrap{
         position: relative;
         }

      .flash-link{
         position: absolute; top:0px; left:0px;
         width:180px; /*Flash Size*/
         height:220px; 
         /*background: url('images/0.gif') no-repeat;*/ /*You should uncommented this line for support old IE version.*/
         }

https://gist.github.com/m-pokrovskii/6558817

于 2013-09-10T06:24:39.107 に答える
0

これは私のために働いた:

<a target="_blank" href="{{ entity.link }}">
    <object type="application/x-shockwave-flash" data="{{ entity.file.path }}?clickTAG={{ entity.link }}" width="120" height="600" style="visibility: visible;">
        <param name="quality" value="high">
        <param name="play" value="true">
        <param name="LOOP" value="false">
        <param name="wmode" value="transparent">
        <param name="allowScriptAccess" value="true">
    </object>
</a>
于 2014-09-12T10:08:39.673 に答える
0

Flash オブジェクトにリンクを追加することはできませんが、透明な画像をリンクで重ねることはできます。これは私の例です:

    <div style="position: relative;">
        <div style="position: absolute;
        left: 250px;
        top: 0px;
        z-index: 9999;">
            <a href="http://terrazasmedicina.com.ar/hometerrazas.html">
<img src="logoLinkTR.png" width="504" height="103"></a>
        </div>
        <script type="text/javascript">
    AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','1024','height','106','src','banner','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','banner' ); //end AC code
    </script></div>

私の場合、オブジェクトはスクリプトによって埋め込まれていますが、同じように機能するはずです。オブジェクトを相対的な div でラップし、画像を含む div
をラップし、左、上、右、および下のプロパティで位置合わせし、 z-indexプロパティを割り当ててイメージに合わせて、絶対としてdiv を配置する必要があります。

于 2015-08-04T13:52:00.280 に答える
0

ありがとう!今。出来た

    <div style="width: 400px; height: 100px;">
    <a href="http://www.sample.com" target="_blank">
    <object height="100" width="400"><param name="movie" value="1.swf">
      <embed src="1.swf" quality="high" type="application/x-shockwave-flash" wmode="transparent" width="400" height="100" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always"></embed>
    </object>  
      <i style="display: block; height: 100px; width: 400px; position: relative;z-index: 9;margin-top: -102px;"></i>
    </a>
</div>
于 2014-09-28T02:13:36.793 に答える