javascript:flush-flash
文書の過去の版を表示しています。
Flashを動的に表示してアクティブ化する - FlushFlash
object/embedタグで表示しただけでは、クリックしないとアクティブにならないFlashを、動的に描き出すことにより表示と同時にアクティブ化するJavaScript。
それならSWFObjectでいいじゃないかとも思ったけどちょっとオーバースペック?三輪車には三輪車の車輪を。
コメントと更新履歴はゼロと無限の間のログ » FlushFlashでどうぞ。
使い方の例
その場に描き出す場合
var flush = new FlushFlash("/path/to/swf", 400, 300); flush.write();
idを指定してそこに埋め込む場合
var flush = new FlushFlash("/path/to/swf", 400, 300, {bgcolor: "#ffffff"}); //最後のパラメータでparamを追加できる flush.setTransparent(); //いくつかのparamは関数呼び出しでセットできる flush.into("element-id"); //普通は空のdiv要素を用意してそのidを指定する
ソースコード
/** * コンストラクタ * @param String path swfのパス * @param Number width 幅 * @param Number height 高さ * @param Object options (省略可) param要素として指定する値 */ FlushFlash = function(path, width, height, options) { this.path = path; this.w = width; this.h = height; this.params = options || {}; this.params["movie"] = path; } /** * 透過にする (※透過にするとテキストボックス等でIMEが使えなくなるので注意) */ FlushFlash.prototype.setTransparent = function() { this.params["wmode"] = "transparent"; } /** * 背景色を指定する (#ffffff形式で指定する。#fffは不可) * @param String color */ FlushFlash.prototype.setBgColor = function(color) { this.params["bgcolor"] = color; } /** * 外部ドメインにアクセスできるようにする */ FlushFlash.prototype.allowAccess = function() { this.params["allowScriptAccess"] = "always"; } /** * FlashVarsを渡す * @param String vars */ FlushFlash.prototype.setFlashVars = function(vars) { this.params["FlashVars"] = vars; } /** * object要素を生成する * @return string object要素 */ FlushFlash.prototype.build = function() { var params = this.params; var o = ""; o += '<object data="' + this.path + '" width="' + this.w + '" height="' + this.h + '"'; o += ' type="application/x-shockwave-flash">'; for (var i in params) { o += '<param name="' + i + '" value="' + params[i] + '" />'; } o += '</object>'; return o; } /** * その場にswfを描き出す */ FlushFlash.prototype.write = function() { document.write(this.build()); } /** * 要素の中にswfを描き出す * @param String elementId */ FlushFlash.prototype.into = function(elementId) { document.getElementById(elementId).innerHTML = this.build(); }
javascript/flush-flash.1204293321.txt.gz · 最終更新: 2008/02/29 22:55 by dgbadmin