ブラウザからクリップボードへ文字列をコピー

  clipCopy.js



IE の場合、クリップボードへのコピーは、普通に window オブジェクトのメソッドを使用する事によって
実現できますが、Netscape では、Flash( 7以上 ) を使用する事によって可能となります。

それに必要な utilWeblog.swf については、こちら を参照して下さい

※ このサンプル(CopyClip) では、TABLE タグ内にある PRE タグ内の文字列をクリップボードにコピーしています。
※ テーブルは、id を持ち、strName で渡されます。

  
function CopyClip( strName ) {

	var objTarget;
	var objPre;
	var range;

	objTarget = document.getElementById( strName );
	objPre = objTarget.getElementsByTagName( "PRE" );

	if ( document.all ) {
		window.clipboardData.setData(
			 "Text", objPre[0].innerText
		);
	}
	else {
		if ( getFlashVarsion() <= 6 ) {
			alert("Flash のバージョン7以上が必要です");
			return;
		}
		range = document.createRange();
		range.selectNode( objPre.item(0) );
		setClipboard( range.toString() );
	}

	window.status = "クリップボードへコピーしました";
}

function setClipboard( strValue ) {

	var obj;

	if ( document.all ) {
		obj = document.getElementById("flash1");
	}
	else {
		obj = document.getElementById("flash2");
	}

	obj.SetVariable("commandType", "setClipboard");
	obj.SetVariable("paramValue", strValue );
	obj.Play();

}

function getFlashVarsion() {

   var objFlash,i;
   var description,flashPlugin;

   if ( document.all ) {
      for( i = 10; i >= 5; i-- ) {
         try {
            objFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i );
            break;
         }
         catch( e ) {
            if ( i == 5 ) {
               i = 0;
               break;
            }
         }
      }
   }
   else {
      i = 0;
      if ( navigator.plugins && navigator.plugins.length > 0) {
         flashPlugin = navigator.plugins['Shockwave Flash'];
         if (typeof flashPlugin == 'object') {
            description = flashPlugin.description;
            for( i = 10; i > 4; i-- ) {
               if (description.indexOf(i+'.') != -1) {
                  break;
               }
            }
            if ( i == 4 ) {
               i = 0;
            }
         }
      }
   }

   return i;

}

  

以下は、Flash の記述です。

  
<OBJECT
	id="flash1"
	classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
	width=0
	height=0
>
	<PARAM name="movie" value="utilWeblog.swf">
	<PARAM name="allowScriptAccess" value="always">

	<EMBED
		id="flash2"
		name="utilWeblog"
		swliveconnect="true"
		src="utilWeblog.swf"
		width=0
		height=0
		type="application/x-shockwave-flash"
	>
</OBJECT> 
  










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




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


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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ