無理やりtrace (IE・Firefox・Opera)
注.このスクリプトは編集画面でのみ動作します。
コピペすべきHTMLは => http://blog.livedoor.jp/k_yon/archives/51830223.html
要はswfのロード時にallowScriptAccessをalwaysにできればOKってこと。
それができれば、Flash側からExternalInterfaceを使って何でもできる
いつもコンパイラのメッセージが出るところに、traceした文字が出ます。
WindowsのIEとFirefoxとOperaで確認済み。
IEとOperaはF5リロードで仕込んだHTMLが発動するけど、
Firefoxのみ一度別のページに行く必要があるみたいです。
このtrace文はコピペ=>save=>リロードした"一度"しか有効になりません
連続で編集する場合は問題ないですが、再度ページをリロードしてしまうと消えます。
その場合は、もう一度コピペ=>save=>リロードの操作を繰り返してください。
ま、forkしてみりゃだいたいワカル。
/**
* Copyright yoneken ( http://wonderfl.net/user/yoneken )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/nFxH
*/
// 注.このスクリプトは編集画面でのみ動作します。
// コピペすべきHTMLは => http://blog.livedoor.jp/k_yon/archives/51830223.html
// 要はswfのロード時にallowScriptAccessをalwaysにできればOKってこと。
// それができれば、Flash側からExternalInterfaceを使って何でもできる
//
// いつもコンパイラのメッセージが出るところに、traceした文字が出ます。
// WindowsのIEとFirefoxとOperaで確認済み。
// IEとOperaはF5リロードで仕込んだHTMLが発動するけど、
// Firefoxのみ一度別のページに行く必要があるみたいです。
//
// このtrace文はコピペ=>save=>リロードした"一度"しか有効になりません
// 連続で編集する場合は問題ないですが、再度ページをリロードしてしまうと消えます。
// その場合は、もう一度コピペ=>save=>リロードの操作を繰り返してください。
//
// ま、forkしてみりゃだいたいワカル。
package{
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.text.TextField;
import flash.text.TextFieldType;
public class etest extends Sprite
{
public var tf:TextField;
private var t:Timer;
private var num:int;
public function etest():void
{
num = 0;
tf = new TextField();
tf.type = TextFieldType.INPUT;
tf.width = 460;
tf.border = true;
tf.borderColor = 0x000;
addChild(tf);
t = new Timer(1000, 20);
t.addEventListener(TimerEvent.TIMER, onTic);
t.start();
}
private function onTic(e:TimerEvent):void
{
try{
trace2("traceできるかな? ", num++, "\n");
}catch(e:Error){
tf.appendText(e.toString());
}
}
}
}
//-------------
import flash.external.ExternalInterface;
function trace2(...args):void
{
var s:String = new String("");
for(var i:int=0;i<args.length;i++){
s += args[i];
}
try{
ExternalInterface.call("(function(s){$(\"compiler_messages\").value += s; $(\"compiler_messages\").scrollTop = $(\"compiler_messages\").scrollHeight - $(\"compiler_messages\").clientHeight;})", s);
}catch(e:Error){
throw e;
}
}
//*
//-------------------------------------------------
</textarea>
</div>
<script language="javascript" defer="defer">
function setAllowScriptAccess(){
if(!Wonderfl.Renderer){
setTimeout(setAllowScriptAccess, 500);
}else{
delete Wonderfl.Renderer;
Wonderfl.Renderer = new function() {
return {
render : function( swf ) {
// cleanup
$("swf_container").innerHTML = "<div id=\"swf\"></div>";
// embed
var flashvars = {};
var params = {"quality":"high", "allowScriptAccess":"always"};
var attributes = {"id": "swf", "name":"swf", "align":"middle"};
swfobject.embedSWF( swf, "swf", "465", "465", "10.0.0", "/swf/expressInstall.swf", flashvars, params, attributes );
// $("compiler_messages").value += "trace message is here !\r\n";
}
}
}
};
}
setTimeout(setAllowScriptAccess, 500);
</script>
<div style="display:none;">
<textarea>*/