Flashで作ったウィジェットを出力する方法(Perl/PHP出力付き)

  • hatena bookmark
  • Twitter
  • Delicious
  • Blogger Post
  • Evernote
  • Google Bookmarks
  • Share/Bookmark

Flashで作ったウィジェットの出力の方法を書いてみます。
Javascriptのdocument.write関数を使った出力を基本に、JavascriptをPerlとPHPで出力する場合(mimeTypeの変更だけですが)も合わせて書いていきたいと思います。

  1. ユーザが埋め込むscriptタグの記述
  2. Flashの表示部分をJavascriptで出力する
  3. PerlとPHPでJavascriptを出力する


1. ユーザが埋め込むscriptタグの記述
<script src="参照先のJavascriptの絶対パス" type="application/javascript"></script>

“src”の部分は、Javascriptを出力するサーバーサイドスクリプトを用意している場合、そのスクリプトの絶対パスを記述します。
また参照先の文字コードを指定したい場合は、charset=”指定文字コード” を追加します。

2. Flashの表示部分をJavascriptで出力する
var SWF = "flashファイル(SWF)のパス";
var SWF_NAME = "flashファイル(SWFの名前)";

var bgcolor = "#f2f2f2";
var quality = "best";
var scale = "noscale";
var width = 200;
var height = 100;
var align = "middle";
var allowScriptAccess = "sameDomain";
var allowFullScreen = "false";

output();

function output(){

	var html = "";

	html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id=' + SWF_NAME + '">';
	html += '<embed src="' + SWF + '" quality="' + quality + '" scale="noscale" bgcolor="' + bgcolor + '" width="' + width + '" height="' + height + '" name="' + SWF_NAME + '" align="' + align + '" allowScriptAccess="' + allowScriptAccess + '" allowFullScreen="' + allowFullScreen +  '" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	html += '</object>';

	document.write( html );

}

Flashで作っている場合、パブリッシュ時に同時に出力されるHTML(要設定)を参考にすると良いと思います。

3. PerlとPHPでJavascriptを出力する

PerlとPHP双方ともヘッダのmimeTypeを”application/javascript”とします。
あとは、2で作成したjavascriptのソースをそのまま出力します。

ちなみにmimeTypeは”text/javascript”でも動作は確認できますが、IANAでは廃止(obsolete)となってるので”application/javascript”の方を使用したほうが良さそうです。

Perlの場合:

use CGI qw(:cgi);
my $cgi = new CGI;

my $output = qq(
	2で作成したJavascript
);

print $cgi -> header( 'application/javascript' ). $output;

exit;

PHPの場合:

header( "Content-Type:application/javascript;" );
$output = <<< output
	2で作成したJavascript
output;
echo $output;
  • hatena bookmark
  • Twitter
  • Delicious
  • Blogger Post
  • Evernote
  • Google Bookmarks
  • Share/Bookmark
関連する記事:
  1. Petit tools – 住所や場所名から経緯度(ジオコード)を出力するウィジェット(マップ確認付き) アップデート
  2. Petit tools – 住所や場所名から経緯度(ジオコード)を出力するウィジェット
  3. Flashで別ドメイン(クロスドメイン)にある画像の表示方法(AS3.0)
  4. FlashでPerlを介した別ドメインのデータ取得方法(mimeType判別付き) +PHP版
コメント 停止中