アクティブ化のクリックを不要にする

Flash

Flashでアクションスクリプトなどを使ったコンテンツを作成すると、
「クリックするとこのコントロールをアクティブにして使用します」
というメッセージが一度出て、ユーザーが一度クリックしないと動作しない。

詳しくはマイクロソフトの下記のサイトに詳しい。http://www.microsoft.com/japan/msdn/workshop/author/dhtml/overview/activating_activex.aspx

ここではものすごく簡単に説明すると、APPLET (英語)、EMBED (英語)、または OBJECTタグでくくられた中身はユーザーがクリックするまで対話(入出力)させない、ということだ。

ただ、ユーザーにとってはクリック数が増えるので面倒でしかない。
それを防ぐため、一つ外部Javascriptから読み込むようにする方法がある。
具体的には以下の通り。

  • まずJavascriptファイルを作る。ここでは仮に「foo.js」とする。
  • テキストエディタからこのファイルを開き、問題のhtmlファイルのからの中身をカットして、次のように編集して貼り付ける。
 function RunFoo()
 {document.write('<OBJECT classid="clsid:xxxxxxx-aaa-・・・以下OBJECTタグの中身>');
 document.write('<PARAM NAME=movie ・・・以下PARAMタグの中身・・・</OBJECT> ');
 }

注1:上記のようにdocument.write(‘から’);までの間に問題のFlashの部分を全部記述する。このとき、からの間すべてをここで記述することに注意。
注2:改行が入る場合は、document.write(‘中身’);で区切らないとエラーになる。