HTMLブラウザ

Q11 15
Biz/BrowserからInternetExplorerを閉じる方法

A11 15
[解決方法]
Biz/BrowserからInternetExplorerを直接閉じることはできません。

対応方法として下記の方法があります。

(1) HTML側での操作で閉じる。
  HTMLからJavaScriptのwindow.openを利用してウィンドウを開き、その中のフレームとしてCRSを開きます。
  終了時は、同じくJavaScriptのcloseを利用してウィンドウを閉じます。

(2) CRS側で用意したオブジェクトを利用して閉じる。
  ExternalEvent Package(BizLink)を利用して、HTMLに終了を通知し、HTML側でcloseを行います。
  ただし、InternetExplorerの仕様により、一番元になるウィンドウを閉じる時点で終了の確認が表示されます。
  この確認を回避する方法はありません。


【注意点】
InternetExplorer上で実行している場合には、//.Delete()はご利用にならないでください。
詳細は、Biz-Tips > Tips集 > HTMLブラウザ >
InternetExplorer上で動かした場合の制限−4(プロセス) をご参照ください。



[サンプルコード]


以下のサンプルコードでは、HTMLでFrame分けをし、一方にActiveXをダウンロードするための
<OBJECT>を記述したHTMLをロードし、もう一方にCRSをロードします。
Biz/Browser(CRS)側に「終了」ボタンを用意し、ボタン押下でInternetExplorerを閉じます。
Biz/Browser(CRS)側

/* 終了 ボタンオブジェクト */
Button Button1 {
    X = 10;
    Y = 50;
    Width = 210;
    Height = 25;
    Title = "終了 (InternetExplorerを閉じる)";

    Function OnTouch( e ) {
        try{
            var send = new EventSender;
            send.PostExternalEvent("snd","biz","Event","");
        }catch(e){
            MessageBox(e.message,"エラー",$OK);
        }
    }
}

HTML側

<HTML>
<HEAD> </HEAD> <BODY> <OBJECT ID="BizListen" CLASSID="CLSID:5E1CFAF3-A502-4A43-81B8-E365B4BF47C5" CODEBASE="BizLink.dll#version=3,1,0,0"> </OBJECT> <SCRIPT LANGUAGE="JavaScript"> <!-- BizListen.Service = "snd"; BizListen.PortId = "biz"; BizListen.StartListen(); //--> </SCRIPT> <SCRIPT LANGUAGE="JavaScript" FOR="BizListen" EVENT="BizExternalEvent(EventName,EventParam)">
<!-- parent.window.close(); //--> </SCRIPT> </BODY> </HTML>
管理番号:Htm_011
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ