S-JIS[2003-09-20/2010-07-18] 変更履歴

Internet Explorer


「ソースの表示」で使われるエディタの変更

IE6の方法は@ITに詳しく書かれている。

要するに、レジストリ「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer」の下に「View Source Editor\Editor Name」というキーを追加し、その「既定」の値にエディタのフルパスを書くということ。

IE8以降では、設定する方法が用意されたらしい。[2010-01-09]

  1. IEを起動する。
  2. メニューバーの「ツール(T)」→「開発者ツール(L) F12」で開発者ツールを起動する。
  3. メニューバーの「ファイル(F)」→「Internet Explorer ソースの表示のカスタマイズ(C)」→「その他(O)」でファイル選択ダイアログが開く。
  4. このダイアログでテキストエディターの場所(exeファイル)を指定する。

※この方法で設定すると、レジストリのHKEY_USERSの下に保存されるようだ。
「HKEY_USERS\S-1〜\Software\Microsoft\Internet Explorer\View Source Editor\Editor Name」

参考: T.NさんのInternet Explorer 8 のソースを表示するエディタを変更したい


Windows Updateのプロキシー

WindowsXPでは、WindowsUpdateの為にプロキシーの設定をしてやらなければならない[2005-04-07]
IEのプロキシーを設定しておけば、proxycfgコマンドを使うことで設定をコピーできる。

IE6のプロキシーの設定方法
メニューバーの「ツール(T)」→「インターネットオプション(O)」⇒「接続」タブ→「LANの設定(L)」

[2005-04-07/2005-05-15]

セキュリティレベル

ver6.0.29のSP2(WindowsXP SP2)だと、JavaScriptやActiveXが入っているHTMLを開こうとすると「セキュリティ保護のため、コンピュータにアクセスできるアクティブコンテンツは表示されないよう、Internet Explorerで制限されています。オプションを表示するには、ここをクリックしてください」という情報バー(セキュリティの警告)が出る。
ver6.0.28のSP1だと問題ないんだけど。
セキュリティの脆弱性をMicrosoftからユーザーに責任転嫁する為に警告を出すようにしたとしか思えないなぁ。

いちいちこのメッセージを出さないようにするには、以下の設定を行う。

  1. IEのメニューバーの「ツール(T)」→「インターネットオプション(O)」⇒「詳細設定」タブ
  2. 以下の項目にチェックを付ける。
    「マイコンピュータでの、CDのアクティブコンテンツの実行を許可する」
    「マイコンピュータのファイルでのアクティブコンテンツの実行を許可する」

「CD」というのはCD-ROM、「マイコンピュータのファイル」というのはローカルファイルのことらしい。
「アクティブコンテンツ」というのは実行ファイルのことかな。


ファイルのダウンロード

サーバーからファイルをダウンロードする仕組みの注意点。[2007-09-20]

zipファイル等のリンクをクリックすると、ダウンロード用ダイアログが開く。ここで保存を選ぶと、ファイルのダウンロードが行われて 指定した場所に保存される。キャンセルを選ぶとファイルは保存されない。
(ダイアログが出ない場合、出るように設定する方法→Microsoftのナレッジベース(KB880999)

しかし、キャンセルのタイミングによっては、実際にはダウンロードが完了していることがある。
いずれにしても正式な保存はされないのでクライアント側としては問題ないが、サーバー側では通信中断扱い正常終了になるパターンが存在することになる。
(ダウンロードのダイアログは、「開く・保存・キャンセル」を選ぶダイアログと、そこで保存を選んだ場合の保存場所を指定するダイアログの二種類あるが、いずれのキャンセルも同様)

IEでは、このダイアログを開く際に ダウンロード情報(HTTPレスポンスに入っているファイル名等)と共にデータ本体を少し読み込む。(→Microsoftのナレッジベース(KB875326)に動作の説明あり)
(試した感じでは200kB程度だが、通信回線状態やマシン状態によるだろう)
したがって、ダウンロードするファイルのサイズがそれ以下であれば、キャンセルを選ぶより前に通信は終了してしまう。(サーバーから見れば正常終了になる)
逆にそれ以上であれば、ダイアログが開いている間はそれ以上の通信は行われず、停止する。保存が選ばれた時点でダウンロードが再開されるが、キャンセルを選ぶと通信が中止されるので サーバーにも中断の情報が伝わる。(Javaサーブレットであれば例外が発生する)

また、このダイアログを開きっぱなしにして長時間放置した場合、下位レイヤーのTCP(ソケット通信)がタイムアウトするので、やはりサーバー側でエラーが検知される。
しかしこの状態になってからダイアログで保存を選ぶと、IE6は馬鹿で、エラーも出さずに さも正常にダウンロードしたかのように平然と終了する。 でも保存されたファイルは一部でしかなく(zipの例でいうと破損状態になっていて)使えない。

あと、サーバーとの間にプロキシーが入っている場合も、キャンセルの動作は怪しくなりそうだなぁ。

おまけ


Enterキー押下によるサブミットの挙動

IEでは、表示している画面内のテキストボックス(input要素)の個数によって、Enterキーによるサブミットの動作が変わる。[2010-07-18]

	<form onsubmit="alert('submit')">
		<input type="text" name="text1"><br>
		<input type="text" name="text2"><br>
<!--		<input type="submit" value="サブミット">-->
	</form>
IE8の場合
type="text"
の個数
type="submit"
の個数
type="text"に
フォーカスがある状態で
Enterキー押下時
どこにも
フォーカスが無い状態で
Enterキー押下
0 0 - 何も起きない。
0 1 - 何も起きない。
1 0 サブミットされる。 何も起きない。
1 1 サブミットされる。 何も起きない。
2 0 何も起きない(拒否音が鳴る)。 何も起きない。
2 1 サブミットされる。 何も起きない。

<input type="text">の個数に関連するので、何も入力したくないが個数だけ増やしたい場合は、以下のような非表示のタグを追加すればよい。

<input type="text" name="dummmy" style="display:none">
<input type="text" name="dummmy" style="visibility:hidden">	←テキストボックスにはならないが、場所はとる

参考


関連


技術メモへ戻る
メールの送信先:ひしだま