none
IE において「F12 Developer Tools」の「Emulation」の設定値をプログラムで動的に変更できますか? RRS feed

  • 質問

  • Internet Explorer において「F12 Developer Tools / Emulation」の設定内容をプログラムで変更することは可能なのでしょうか?

    可能ならば、どのように行えばいいのでしょうか?




    • 編集済み user.t 2016年10月7日 1:19
    2016年10月6日 14:06

回答

  • emulation の設定を変更して検証するのですが、変更し忘れがあったので、その予防策として、一旦設定変更したら変更値が常に保持されるか、起動時にプログラムにより自動で動的に書き換えられないか、と考えた次第です。

    プログラムではありませんが、レジストリ値を設定することで変更できます。Browser Emulationで説明されていますが、HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATIONに名前iexplore.exeで値はドキュメントに書かれている9999等の値を指定します。

    # iexplore.exeに対しては試したことはありませんが…

    2016年10月7日 1:43
  • F12 開発者ツール内での設定は揮発性 (メモリ内でのみ保持されていて F12 を閉じると消える) であり、API も公開されていないので、外部から操作できないはずです。

    F12 に依存せずエミュレーションの設定を行う方法については、サーバーサイドで HTTP Header を利用する方法、クライアント サイドで佐祐理さんが書かれているような方法で構成する方法が考えられます。


    hebikuzure

    • 回答としてマーク 星 睦美 2016年10月28日 4:17
    2016年10月7日 7:12
    モデレータ

すべての返信

  • 質問者さんのいう「プログラム」が何を指すかで質問の内容が大きく変わります。JavaScriptなどコンテンツ側で変更すること、もしくはInternet Explorerを外部から変更すること(1ウィンドウのみ、全ウィンドウ、恒久的など)、独自に作成したWebブラウザーを自身で変更すること、のようにいろいろな「プログラムで変更」が想定されます。質問内容を明確にしてください。
    タイトルには「IEで」ともありますので、Internet Explorerを外部から、が順当に想定される内容ですが、その場合は変更以前の問題として外部からどうやって当該ウィンドウ・タブを特定するのか疑問です。(質問内容は変更方法だけに見受けられますので。)

    また変更したい理由も記してもらえると、別の解決策が見つかるかもしれません。

    2016年10月6日 21:30
  • 佐祐理さん、ご意見、ありがとうございます。

    「プログラム」が何を指すかで質問の内容が大きく変わります

    どれで実現できるのか見当がつかなかったので、敢えて明記しませんでしたが、ブラウザーで動く javascript から可能ならば javascript でもいいですし、node や PowerShell で可能ならそれでも構いません。

    Internet Explorerを外部から変更すること(1ウィンドウのみ、全ウィンドウ、恒久的など)

    IE の全 Window を恒久的に変更するのが望みです。

    Internet Explorerを外部から、が順当に想定される内容ですが、その場合は変更以前の問題として外部からどうやって当該ウィンドウ・タブを特定するのか疑問です。(質問内容は変更方法だけに見受けられますので。)

    emulation の設定値が何処かに保存されているのだろうと思い、それを IE の外部から変更する方法がないかと考えていました。

    起動中の IE 上で動く javascript からでも emulation の設定値が変更可能なら、それでも十分なのですが。


    変更したい理由も記してもらえると、別の解決策が見つかるかも

    emulation の設定を変更して検証するのですが、変更し忘れがあったので、その予防策として、一旦設定変更したら変更値が常に保持されるか、起動時にプログラムにより自動で動的に書き換えられないか、と考えた次第です。





    • 編集済み user.t 2016年10月7日 1:18
    2016年10月7日 1:16
  • emulation の設定を変更して検証するのですが、変更し忘れがあったので、その予防策として、一旦設定変更したら変更値が常に保持されるか、起動時にプログラムにより自動で動的に書き換えられないか、と考えた次第です。

    プログラムではありませんが、レジストリ値を設定することで変更できます。Browser Emulationで説明されていますが、HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATIONに名前iexplore.exeで値はドキュメントに書かれている9999等の値を指定します。

    # iexplore.exeに対しては試したことはありませんが…

    2016年10月7日 1:43
  • F12 開発者ツール内での設定は揮発性 (メモリ内でのみ保持されていて F12 を閉じると消える) であり、API も公開されていないので、外部から操作できないはずです。

    F12 に依存せずエミュレーションの設定を行う方法については、サーバーサイドで HTTP Header を利用する方法、クライアント サイドで佐祐理さんが書かれているような方法で構成する方法が考えられます。


    hebikuzure

    • 回答としてマーク 星 睦美 2016年10月28日 4:17
    2016年10月7日 7:12
    モデレータ
  • 佐祐理さん、hebikuzure さん、情報ありがとうございます。

    Emulation/Mode は仰る方法でできそうですね。ありがとうございます。

    一方、Emulation/Display, Goelocation は、hebikuzure さんの仰ることから考えると、使用する都度変更が必要なのですね。


    Display, Geolocation
    2016年10月7日 23:51