none
IE9でActiveX.dllを起動するとフリーズする RRS feed

  • 質問

  • JavaScriptでonClickによりActiveX.dllを起動し、処理が終了したら結果ページに遷移するという

    WebアプリケーションがあるのですがIE9で実行すると、ActiveX.dllのフォーム画面が閉じられた後

    JavaScript側で結果ページにsubmitしているのですが、応答待ちになったまま、ブラウザの表示が切り替わりません。

    こうなるとブラウザのメニューから何から操作が利かなくなって、タスクマネージャからタスクの終了をするしかなくなります。

    試しにフォームを表示して、ボタンをクリックするとフォームを閉じるだけのActiveX.dllを作成して動かしてみたのですが

    同様の結果になったので、ActiveX側での処理の問題ではなさそうです。

    IE6、IE7、IE8までは何事もなく使用できていたので、IE9で何らかのセキュリティの強化がされたのではないかと想定しています。

    解決方法をご存じの方がいらっしゃいましたら教えていただけますでしょうか。

    ソースコードは以下のような感じです。

    <サーバーサイド>

    <input type="button" name="save" value=" 送 信 " onClick="NextPage(DoEncode())">

    <JavaScript>

    function NextPage() {

      // 結果ページをセット
      document.prev.action="result.php";

      // 結果ページにsubmit
      document.prev.submit();
    }

    function DoEncode(SendMode) {
      

    //ActiveXDLLオブジェクト生成
     objAct = new ActiveXObject("Test.TestApe"); 

     //ActiveX処理実行
     objAct.Convert();
     
     //処理結果を取得
     return(objAct.Result);

     objAct = "";

    }

    2011年5月27日 7:52

すべての返信