ActiveX( コントロール ) の利用

  セキュリティタブのインターネットゾーン



通常インターネットを参照する場合、ActiveX は使用不能になっています。この理由は、
「スクリプトを実行しても安全だとマークされていない ActiveX コントロールの初期化とスクリプトの実行」
「無効」になっている為ですが、

この設定は絶対に変更しないで下さい

ActiveX は信頼できないページからはウィルスと同じで非常に危険です。しかし、暗黙的に信頼できる
イントラネットや、使用者が納得済みで「信頼できる」と登録するのなら話は別です



  ファイルシステムより実行するローカルページ



エクスプローラよりダブルクリックで表示される HTML ページであっても、ActiveX は
作成しようとすると メッセージボックスが表示され、使用するかどうかを確認しなければ
なりません。しかし、これではアプリケーションとしてのテストが面倒になるので、ローカル
ページをイントラネットゾーンで実行するようにします

その為には、共有を作成してその共有をローカルのコンピュータで自己接続します
( ネットワークドライブの割り当てで接続します )

共有作成時には、アクセス権を正しく設定しないとActiveXで書き込みができないので
注意して下さい

接続したドライブより表示させた HTML は「イントラネットゾーン」に属しており、この
ゾーンのセキュリティ設定で ActiveX を使用可能にすればテストが可能になります

ですが、この方法は少し欠点があります。セキュリティ設定時に間違ってインターネット
ゾーンを変更してしまう可能性があります。場所も隣ですし、内容もほぼ同じなので注意
が必要になります。

ですから、実際は HTML の拡張子を HTA に変更して純粋にローカルアプリケーション
として実行するのが良いと思われます

但し、フレームの場合は通常には無い属性が必要になりますし、ステータスバーが表示
されない等の違いを吸収する知識が必要になります

( ※ 参照 ActiveXを使ったHTMLをHTAのフレーム内で使用する )



  ローカルの WWW サーバでテストする

  
この方法が一番実用的です。その場合以下の3つの方法で通常アクセスします

1) http://localhost
2) http://127.0.0.1
3) http://PC名

いずれでも結構なので、信頼済みサイトゾーンのサイトボタンより登録して下さい
そして、レベルのカスタマイズで ActiveX を有効にします。このゾーンは、対象
となるサイトを登録した場合のみ有効となるので間違った登録はありえません
  



  適当なドメイン名でテストしたい場合

  
Windows NT4.0,XP,2000 では、system32\drivers\etc\hosts ファイルに以下のように登録
する事によってそれらしいアクセスができます

127.0.0.1       www.my.com
  

この場合、ゾーンはインターネットゾーンになりますが、信頼済みサイトへの登録は同様です
但し、「このゾーンのサイトには、全てサーバの確認( https: ) を必要とする」というチェックボックス
のチェックを外す必要があります



  VBScript

  
<SCRIPT language=VBScript>

' グローバル変数( 初期値は Empty )
Dim Fs

Function CreateActiveX()

	if IsEmpty( Fs ) then
		' グローバルなので、ページが変更されない
		' 限りオブジェクトは保持されます
		Set Fs = CreateObject( "Scripting.FileSystemObject" )
	end if

	' ローカル変数
	Dim Fs2

	' 関数が終了すると自動的に破棄されます
	Set Fs2 = CreateObject( "Scripting.FileSystemObject" )

End Function

Function DestroyActiveX()

	if not IsEmpty( Fs ) then
		' この書き方で一応破棄されますが、ページが変更されても
		' 破棄されるので、意図的に破棄する必要はほとんどありません
		Set Fs = Nothing
		Fs = Empty
	end if

End Function

</SCRIPT>

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
</HEAD>
<BODY>

<INPUT
	type=button
	name=ActButton
	value="ActiveX の初期化" onClick='CreateActiveX()'
>
<INPUT
	type=button
	name=ActButton
	value="ActiveX の解放" onClick='DestroyActiveX()'
>
</BODY>
</HTML>
  



  JScript

  
<SCRIPT language=JavaScript>

// グローバル変数
var Fs;

function CreateActiveX() {

	if ( typeof(Fs) == "undefined" ) {
		Fs = new ActiveXObject("Scripting.FileSystemObject");
	}

}

function DestroyActiveX() {

	if ( typeof(Fs) == "object" ) {
		Fs = "";
		Fs = undefined;
	}

}

</SCRIPT>

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
</HEAD>
<BODY>

<INPUT
	type=button
	name=ActButton
	value="ActiveX の初期化" onClick='CreateActiveX()'
>
<INPUT
	type=button
	name=ActButton
	value="ActiveX の解放" onClick='DestroyActiveX()'
>
</BODY>
</HTML>
  













   SQLの窓    create:2005/05/03  update:2015/09/23   管理者用(要ログイン)





フリーフォントツール

SQLの窓ツール

SQLの窓フリーソフト

写真素材

一般ツールリンク

SQLの窓

フリーソフト