質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

22693閲覧

[ActiveXObject] IEでの印刷プレビュースクリプトが、環境によって動かない

ryo_se

総合スコア68

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/05/29 02:56

IE11での印刷プレビュー機能を実装しています。

ActiveXObjectを用いた下記の記述で印刷ボタンをクリックした時に印刷プレビューが表示されるようにしました。(IE11,Chrome共にローカルで動作しています。)

======================================================
//印刷プレビュー
function printPreview(){
//IE以外の場合
if(!window.ActiveXObject && !document.documentMode || document.body.insertAdjacentHTML == null){
window.print();
return;
}
//IE用の印刷プレビュー用メソッドを実行
var sWebBrowserCode = '<object width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>' ;
document.body.insertAdjacentHTML( 'beforeEnd', sWebBrowserCode ) ;
var objWebBrowser = document.body.lastChild ;
if( objWebBrowser == null ){
return;
}
objWebBrowser.ExecWB( 7, 1 ) ;
document.body.removeChild( objWebBrowser ) ;
}
======================================================

ところが該当ファイルを検証機サーバーにおいて動かしたところ、IE11で動作しません(chromeでは勿論動作しています)
デバックしてみたところ、「objWebBrowser.ExecWB( 7, 1 ) ;」の箇所で「メンバーが見つかりません。」のエラーが発生していました。

調査してみたものの解決できず、皆様の助力を貸していただきたいです。

検証機サーバの環境は以下になります。
CentOS release 6.6
Java8
Tomcat8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは

Javascript のエラーであるならば、サーバサイドの環境問題ではなくクライアントサイドの問題のように思います

ActiveXObject の実行はブラウザのセキュリティで制限されますので、検証機サーバのサイトに対してIE11のセキュリティ設定はどのようになっているでしょう?

念のためそのあたりを確認されてみてはいかがでしょうか

投稿2015/05/29 06:13

takito

総合スコア3111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo_se

2015/05/29 10:29

takito様 確かに検証機サーバはSSLを設定しており、IEのセキュリティレベルを最低レベルにまで落としたところ、動作できることを確認しました。ありがとうございます。 ですが、クライアント様に使用していただくシステムのため、極力セキュリティレベルを落とすのは控えたいと思っています。 インターネットオプションの信頼済サイトで該当サイトを登録してみたのですが、それでは動作しませんした。 何か方法はございますでしょうか?
takito

2015/05/29 11:02

「信頼済みサイト」への登録だけでは、ActiveX関連でまだ「無効にする」となっているものがあります。 恐らく 【スクリプトを実行しても安全だとマークされていない ActiveX コントロールの初期化とスクリプトの実行】 あたりを「有効にする」へ変更すれば動くのではと思いますが、動かないようでしたら無効になっているものをひとつづつ有効にして検証してみてください。 私が担当する案件では、最近はそのあたりが面倒なのでActiveXを利用していません。 見ているWebページの印刷が目的であれば、印刷用にレイアウト調整したページを用意し、ブラウザの機能でプレビューなり印刷実行なりしてもらっています。 それが許される状況(条件)でなく、ActiveXObject の利用が必須であれば、セキュリティ設定を変更することは恐らく避けられません。 セキュリティと利便性は相反するものなので、ご理解いただくしかないと思います。
ryo_se

2015/06/01 05:28

確かにおっしゃるとおりでした。 どうするかはクライアントの方とお話したいと思います。 このたびはお力添いしていただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問