Flex : Sprite を継承した Flash プログラミング


  flex2 から JavaScript へのアクセス



ExternalInterface のスタティックメソッドである call を呼び出すだけのようです

load.js はこちら

lbox.as(utf-8)
  
// *********************************************************
// mxmlc lbox.as でビルド
//
// ◎ 背景は白
// ◎ 指定画像をオリジナルサイズで表示
// *********************************************************
package {

import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
import flash.external.*;

// 背景色
[SWF(backgroundColor="#FFFFFF")]

// 表示用クラス 【Sprite】を継承
public class lbox extends Sprite {

	// *********************************************************
	// コンストラクタ
	// *********************************************************
	public function lbox():void {

		var loader:Loader = new Loader();

		// 読み込み完了イベントを登録
		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);

		// 読み込み
		loader.load(new URLRequest("http://winofsql.jp/image/winofsql.png"));

	}

	// *********************************************************
	// 読み込み完了イベント
	// *********************************************************
	private function loadComplete(e:Event):void {
		addChild(e.target.loader);

		// 配置( 左詰め、上 )
		stage.align = StageAlign.TOP_LEFT;
		// 伸縮モード( そのまま )
		stage.scaleMode = StageScaleMode.NO_SCALE;

		// JavaScript に公開するメソッドの登録
		ExternalInterface.addCallback("flexCopyClipboard",copyClipboard);
	}

	// *********************************************************
	// クリップボードへ文字列をコピー
	// *********************************************************
	public function copyClipboard(data:String):void {

			System.setClipboard(data);
			ExternalInterface.call("flexLog", 
				"copyClipboard が呼び出されました<br>");

	}

}}
  

  
<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<TITLE>HTML テンプレート</TITLE>
<SCRIPT language="javascript" type="text/javascript">

// *********************************************************
// 関数
// *********************************************************
function doAction() {

	var txt = document.getElementById("text").value;

	if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
		document.getElementById("MyApp").flexCopyClipboard(txt);
	}
	else {
		if (window.navigator.userAgent.toLowerCase().indexOf("opera") > -1) {
			document.getElementsByName("MyApp")[1].flexCopyClipboard(txt);
		}
		else {
			document.getElementsByName("MyApp")[0].flexCopyClipboard(txt);
		}
	}


}

function flexLog( str ) {

	document.getElementById("log").innerHTML += str;

}

</SCRIPT>
</HEAD>

<!-- *******************************************************
 BODY
******************************************************** -->
<BODY>

<INPUT
	type="button"
	value="クリップボードヘコピー"
	onClick='doAction();'
>

<HR>

<TEXTAREA
	id=text
	cols=100
	rows=10

>日本語データ</TEXTAREA>

<SCRIPT 
	language="javascript"
	type="text/javascript"
	src="load.js">
</SCRIPT>

<DIV id="log">
</DIV>

</BODY>
</HTML>
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加




SQLの窓  天気  IT用語辞典
Yahoo!ニュース  マルチ辞書
PHP マニュアル  Google URL短縮 


フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ