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

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

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

Microsoft Edgeは、マイクロソフト社が開発する新しいWebブラウザです。Windows 10から標準搭載されており、Internet Explorerとは違うレンダリングエンジンが採用されています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Internet Explorer

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

JavaScript

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

WSH

WSH(Windows Script Host)とは、Windows上でテキストファイルに記述したJavaScriptやVBScriptなどのスクリプトを実行するホスト環境のことです。COMを通じたレジストリ操作やWMIへのアクセスが可能で、複雑な処理も行うことができます。

Q&A

解決済

2回答

1365閲覧

ブラウザIEの仕様について

退会済みユーザー

退会済みユーザー

総合スコア0

Microsoft Edge

Microsoft Edgeは、マイクロソフト社が開発する新しいWebブラウザです。Windows 10から標準搭載されており、Internet Explorerとは違うレンダリングエンジンが採用されています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Internet Explorer

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

JavaScript

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

WSH

WSH(Windows Script Host)とは、Windows上でテキストファイルに記述したJavaScriptやVBScriptなどのスクリプトを実行するホスト環境のことです。COMを通じたレジストリ操作やWMIへのアクセスが可能で、複雑な処理も行うことができます。

0グッド

0クリップ

投稿2019/05/16 02:24

編集2019/05/30 05:00

お世話になっております。

現在、承認済みのアカウントで
認可コードを取得するためのURLを外部アプリから開き、
IEで開かれたブラウザのURLに認可コードが表示されるので
そのコードでAPIを利用するプログラムを書いています。

この際に、chromeやEdgeなら問題なく認可コードが表示されるURLが返却されるのですが、
IEだと表示されません。(直接ブラウザを立ち上げて同じURLを貼り付けて開くと問題なく表示されます。)
また、chromeやedgeの場合でも直接ブラウザを立ち上げて貼り付けでもちゃんと表示されます。

下記の画像がその時のものです。
イメージ説明
本来であれば、URLの部分が
「{redirect_uri}?code={~}&location=us&accounts-server=https%3A%2F%2Faccounts.zoho.com」
となり、codeに認可コードが表示されます。

画像の通り、ZohoというサイトのもののAPIを利用としています。

もし、分かる方がいましたら教えていただけないでしょうか。
Zohoのサポートサービスにも念のため、問い合わせをしております。
【Zohoからの回答(必要部分だけをまとめたもの)】
ブラウザIEでまずGoogleを開き、
その後に対象URLを開くという動作にしたところ、
取得することが出来た。そのコードを添付します。

IE プロキシ設定

【環境】
IE11
windows10

JSファイルでも試しましたが上手くいかなかったので、
そちらのソースも載せます。

JavaScript

1test(); 2 3function test() { 4 5 // 読み込み状態 6 var READYSTATE_UNINITIALIZED = 0; // 初期化中 7 var READYSTATE_LOADING = 1; // 表示データ読み込み中 8 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 9 var READYSTATE_INTERACTIVE = 3; // データの表示中 10 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 11 12 var ieAPP = new ActiveXObject( "InternetExplorer.Application" ); 13 ieAPP.Visible = true; 14 // ieAPP.Visible = false; 15 var url = WScript.Arguments(0); 16 var testurl = "microsoft-edge:"+url 17 18 //デバッグ用 19 // WScript.echo(url); 20 21 //Edgeで開く場合 22 var edge = WScript.CreateObject("Shell.Application"); 23 // edge.ShellExecute(testurl); 24 25 ieAPP.Navigate(url); 26 27 //読込が終わるまで待つ 28 while (ieAPP.Busy && ieAPP.ReadyState==READYSTATE_COMPLETE){WScript.Sleep(500)}; 29 30 var sh = WScript.CreateObject("Shell.Application"); 31 var array = []; 32 33 var pattern = 'testsuntech.tk/'; 34 35 for (var i = 0; i < sh.Windows().Count; i++) { 36 var a = ""; 37 try {a = sh.Windows(i).document.URL;} 38 catch(e) {} 39 if(a) {array.push(a);} 40 } 41 42 // WScript.echo(window.location.pathname); 43 44 var fileName = ""; 45 var filesh = new ActiveXObject("WScript.Shell"); 46 var desktopPath = filesh.SpecialFolders("Desktop"); 47 var absoluteFilePath = ""; 48 var create = true;//ファイルを作成するかのフラグ 49 50 var iomode = 1; 51 // 1: ファイルを読み取り専用として開く(書き込めない) 52 // 2: ファイルを書き込み専用として開く 53 // 8: ファイルの最後に追加して書き込み 54 55 var format = -2; 56 // true(-1): Unicode 57 // false(0): ASCII 58 // -2: SJIS(システムデフォルト) 59 60 var fs = new ActiveXObject("Scripting.FileSystemObject"); 61 62 //リダイレクトURLだけ抜き取る 63 for (var i = 0; i < array.length; i++) { 64 if(array[i].indexOf(pattern) > -1){ 65 // 部分一致のときの処理 66 var start = 0; 67 var end = 0; 68 var code = ""; 69 70 start = array[i].indexOf("code=") + 5; 71 end = array[i].indexOf("&",start) - 1; 72 73 if (end > 0) { 74 end = end - start + 1; 75 code = array[i].substr(start,end); 76 }else { 77 code = "notfind" 78 } 79 80 //デバッグ用 81 // WScript.echo(array[i]); 82 // WScript.echo(String(start)); 83 // WScript.echo(String(end)); 84 // WScript.echo(code); 85 86 fileName = "code_" + code; 87 88 // WScript.echo(fileName); 89 90 //windowオブジェクトが使えないため 91 // window.navigator.msSaveBlob(blob, "fileName.txt"); 92 93 absoluteFilePath = desktopPath + "\" + fileName; 94 95 var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format); 96 97 //デバッグ用 98 WScript.echo(absoluteFilePath); 99 100 }else { 101 fileName = "Error" 102 absoluteFilePath = desktopPath + "\" + fileName; 103 104 var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format); 105 } 106 107 file.Close(); 108 109 } 110 111 if (array.length == 0) { 112 fileName = "ReferenceError" 113 absoluteFilePath = desktopPath + "\" + fileName; 114 115 var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format); 116 file.Close(); 117 } 118 119 // Internet Explorerを終了 120 // ieAPP.Quit(); 121 122} 123

実行できたバージョン

Javascript

1test(); 2 3function test() { 4 5 // 読み込み状態 6 var READYSTATE_UNINITIALIZED = 0; // 初期化中 7 var READYSTATE_LOADING = 1; // 表示データ読み込み中 8 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 9 var READYSTATE_INTERACTIVE = 3; // データの表示中 10 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 11 12 var ieAPP = new ActiveXObject( "InternetExplorer.Application" ); 13 ieAPP.Visible = true; 14 // ieAPP.Visible = false; 15 var url = WScript.Arguments(0); 16 var testurl = "microsoft-edge:"+url 17 18 //デバッグ用 19 //WScript.echo(url); 20 21 //Edgeで開く場合 22 var edge = WScript.CreateObject("Shell.Application"); 23 // edge.ShellExecute(testurl); 24 25 26 ieAPP.Navigate(" https://google.com"); 27 var startMsec = new Date(); 28 while (new Date() - startMsec < 5000); 29 30 ieAPP.Navigate(url); 31 32 //読込が終わるまで待つ 33 // while (ieAPP.Busy && ieAPP.ReadyState==READYSTATE_COMPLETE){WScript.Sleep(500)}; 34 while (ieAPP.Busy || ieAPP.ReadyState!=4){WScript.Sleep(500)}; 35 36 var sh = WScript.CreateObject("Shell.Application"); 37 var array = []; 38 39 // var pattern = 'testsuntech.tk/'; 40 var pattern = 'csuntec.co.jp/'; 41 42 for (var i = 0; i < sh.Windows().Count; i++) { 43 var a = ""; 44 try {a = sh.Windows(i).document.URL;} 45 catch(e) {} 46 if(a) {array.push(a);} 47 } 48 49 // WScript.echo(array[0]); 50 // WScript.echo(array[1]); 51 52 var fileName = ""; 53 var filesh = new ActiveXObject("WScript.Shell"); 54 var desktopPath = filesh.SpecialFolders("Desktop"); 55 var absoluteFilePath = ""; 56 var create = true;//ファイルを作成するかのフラグ 57 58 var iomode = 1; 59 // 1: ファイルを読み取り専用として開く(書き込めない) 60 // 2: ファイルを書き込み専用として開く 61 // 8: ファイルの最後に追加して書き込み 62 63 var format = -2; 64 // true(-1): Unicode 65 // false(0): ASCII 66 // -2: SJIS(システムデフォルト) 67 68 var fs = new ActiveXObject("Scripting.FileSystemObject"); 69 70 //デバッグ用 71 // WScript.echo(str(array.length)); 72 73 //リダイレクトURLだけ抜き取る 74 for (var i = 0; i < array.length; i++) { 75 if(array[i].indexOf(pattern) > -1){ 76 // 部分一致のときの処理 77 var start = 0; 78 var end = 0; 79 var code = ""; 80 81 start = array[i].indexOf("code=") + 5; 82 end = array[i].indexOf("&",start) - 1; 83 84 if (end > 0) { 85 end = end - start + 1; 86 code = array[i].substr(start,end); 87 }else { 88 code = "notfind" 89 } 90 91 //デバッグ用 92 WScript.echo(array[i]); 93 WScript.echo(String(start)); 94 WScript.echo(String(end)); 95 WScript.echo(code); 96 97 fileName = "code_" + code; 98 99 // WScript.echo(fileName); 100 101 //windowオブジェクトが使えないため 102 // window.navigator.msSaveBlob(blob, "fileName.txt"); 103 104 absoluteFilePath = desktopPath + "\" + fileName; 105 106 var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format); 107 108 //デバッグ用 109 WScript.echo(absoluteFilePath); 110 111 }else { 112 fileName = "Error" 113 absoluteFilePath = desktopPath + "\" + fileName; 114 115 var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format); 116 } 117 118 file.Close(); 119 120 } 121 122 if (array.length == 0) { 123 fileName = "ReferenceError" 124 absoluteFilePath = desktopPath + "\" + fileName; 125 126 var file = fs.OpenTextFile(absoluteFilePath,iomode,create,format); 127 file.Close(); 128 } 129 130 // Internet Explorerを終了 131 // ieAPP.Quit(); 132 133}

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

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

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

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

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

mather

2019/05/16 02:29

IEにHTTPプロキシなどの設定はされていませんか?
退会済みユーザー

退会済みユーザー

2019/05/16 02:36

質問内容に設定画面の画像を貼りました。 おそらくしていないと思います
mather

2019/05/16 02:46

なるほど。 エラーページにもあるとおりですが、まず以下のURLにIEからアクセスできるか確認してみてください。 https://accounts.zoho.com/
退会済みユーザー

退会済みユーザー

2019/05/16 02:48

両方のパターンでアクセスすることが出来ました
mather

2019/05/16 02:57

両方のパターン?
退会済みユーザー

退会済みユーザー

2019/05/16 02:59

外部アプリからと直接ブラウザを立ち上げてから同じURLを貼り付けるパターンです。
mather

2019/05/16 03:01

外部アプリから? いや、それは特に要求していなくて、IEで上記のURLをただ開くだけです。 認可コードのある{redirect_uri}?code=...の方ではなくて、accounts.zoho.com にアクセスしてみてください。 できましたか?
退会済みユーザー

退会済みユーザー

2019/05/16 03:08

言葉足らずで申し訳ありません。 {redirect_uri}?code=については、こちらから開くのではなく、 「https://accounts.zoho.com/oauth/v2/auth?scope=ZohoCRM.users.ALL&client_id={client_id} &response_type=code&access_type={"offline"or"online"}&redirect_uri={redirect_uri}」 を開いて承認済みなら、{redirect_uri}?code=のURLが返されます。 それは問題なくアクセス出来ました。 また、IEでも直接ブラウザから行う場合は認可コードは取得出来ています。
mather

2019/05/16 04:15

URLの途中に &amp; があるのが気になるのですが、外部アプリ?からIEに渡される正確なURLってわかりますか? 同じくclient_idなどはマスクしていただいていいのですが、 & と &amp; の違いなどは正確に記載してほしいです。(そもそも & をURLエスケープする場合は &amp; ではなく %26 なのですが)
退会済みユーザー

退会済みユーザー

2019/05/16 04:58 編集

すいません。 URLのはサイトのをコピペしたものなのでたまたまそこの&だけ「amp;」が付加されたと思います。 ですので、本来は「amp;」はURLに存在しません。 下記URLがブラウザに貼り付けた情報です。一部はマスクしています https://accounts.zoho.com/oauth/v2/auth?scope=ZohoCRM.users.ALL & client_id=○○&response_type=code&access_type=online &redirect_uri=○○ ※先程、問題あった場所は両端にスペースで開けてあります
mar-kn

2019/05/24 03:22 編集

URLの長さはどうでしょうか? IEとモダンブラウザでは、扱えるURLの長さが違うので、可能性があるかなと。 (直接貼り付けとアプリからの起動で、URLの長さに違いがあるとは考えにくいのですが。) https://support.microsoft.com/ja-jp/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer それと、該当サイトのURLを「信頼済みサイト」に追加するとどうなるでしょうか?
Lhankor_Mhy

2019/05/27 08:52

エラーになるときのリクエストヘッダと、アドレスバーに直接URLを入力した時のリクエストヘッダは、同じものでしたか?
退会済みユーザー

退会済みユーザー

2019/05/29 07:38

遅れてしまい申し訳ありません。 同じものではありませんでした。 エラーになるときはそもそも、ヘッダを確認するための選択パスが存在しませんでした。
Lhankor_Mhy

2019/05/29 08:33

「選択パス」というものを存じ上げないのですが、IEの開発者ツールのネットワークに表示されない、ということでしょうか?
Lhankor_Mhy

2019/05/29 08:36

ん、ヘッダを確認していないのに同じものではない、と判断したのですか? その根拠は何ですか? また、リクエストヘッダが同じものではないのであれば、それが原因ではないのですか?
退会済みユーザー

退会済みユーザー

2019/05/29 08:43

>「選択パス」というものを存じ上げないのですが、IEの開発者ツールのネットワークに表示されない、>ということでしょうか? >ん、ヘッダを確認していないのに同じものではない、と判断したのですか? >その根拠は何ですか? はい。その通りです。 なので、エラーの場合、ヘッダは確認できないので同じものではないと判断しました。 →成功の場合はありましたので
退会済みユーザー

退会済みユーザー

2019/05/29 08:46

>また、リクエストヘッダが同じものではないのであれば、それが原因ではないのですか? ただ、その場合ですとchromeとEdgeでは成功してIEは出来ない理由とは 結びつかないんですよね (URLは同じでブラウザだけを変えている為)
Lhankor_Mhy

2019/05/29 09:04

> なので、エラーの場合、ヘッダは確認できないので同じものではないと判断しました。 よくわからないですね…… そのご判断は誤っていると思いますが……? 確認できていないなら同じものであるかもしれないですよね? > ただ、その場合ですとchromeとEdgeでは成功してIEは出来ない理由とは結びつかないんですよね なぜそう思われるのかわからないです。「同じことをしているのにIEだけ結果が違う」というご質問だったのではないのですか?
Lhankor_Mhy

2019/05/29 09:23 編集

ご質問と補足から、 ・IEの場合:通常のリクエスト=>NG、URL貼付=>OK ・モダンブラウザの場合:通常のリクエスト=>OK、URL貼付=>OK だと読みました。 そのため私は、通常のリクエストとURL貼付に何らかの差異があり、それがIEの不具合の原因である、と考えました。 gorinjuuさんは、リクエストヘッダが通常のリクエストとURL貼付とで差異がある、とご判断されたのですよね? そうであれば、それがIEの不具合の原因である、と考えてもよいと思うのですが…… gorinjuuさんは、差異は手がかりにならないとお考えなのですよね? おそらく、当方が共有している情報とgorinjuuさんがお持ちの情報に齟齬があり、それで私の補足依頼がピンボケになっているのだと思います。 もう少しご提示される情報量を増やした方が、有効な回答を得られるのではないかな、と感じました。
退会済みユーザー

退会済みユーザー

2019/05/30 04:54

ご丁寧にありがとうございます。 確かにそもそも、IE自体に不具合がある可能性があるかもしれません。 少し、進展がありましたので提示します。
Lhankor_Mhy

2019/05/30 08:33

> その後に対象URLを開くという動作にしたところ、取得することが出来た。 これは、ご解決された、ということでいいのでしょうか?
退会済みユーザー

退会済みユーザー

2019/05/31 04:25

そうですね。 やりたいことは出来たけど、 IEの仕様は不明のままというイメージですね
guest

回答2

0

ベストアンサー

IEの使用は不明のまま

まぁそうでしょう。
昔はIE率が高くて色々MSが実装しましたが他のブラウザのシェア増加により根本的に見直しが必要になりました。そこでEdgeが生まれました。まぁそれでも結局断念してChromiumベースになるって公式にリリースされましたけど...
って誰かから聞いた気がします。
IEは利便性の高いHPを作るのにもはや邪魔な存在です。それをサポート対象外にするのは当然の対処でしょう。
最後の公式リリースの話は確かです。

投稿2019/06/03 05:55

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2019/06/03 07:40

回答ありがとうございます。 そうだったのですね。 ブラウザのを操作するに至っては基本的にはChromeやFoxなどをメインにしていった方がいいのですね。
guest

0

IEをサポート外にするのはだめなのでしょうか?
時間をかけてサポートする利点があるのかわかりませんが。

投稿2019/05/27 08:35

odyu

総合スコア548

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

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

退会済みユーザー

退会済みユーザー

2019/05/29 07:42

遅れてしまい申し訳ありません。 IEはなるべく使いたくないので、 chromeでの実装を考えているのですが、 URLの取得方法が分からず、現在は仕方なくIEで行っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問