title_parttitle_parttitle_part
静岡県浜松市であれこれソフトを開発している A.K.I Software のブログです。日々の開発日記やサーバー・セキュリティ関連の話題なども掲載。
<< 2024/04 >>123456789101112131415161718192021222324252627282930
《《《 ネットワーク機器の購入は Amazon で! 》》》
Powered by BLOM IE11 で submit するとフリーズする不具合?
小さくも大きくも閉じたりもしません
14/02/02 01:31 / IT関連

ここの所、忙しくてブログを書いている時間も無かったのですが、毎月更新してる太陽光発電の記録だけは行おうとしてブログを書こうと思いましたら・・・

あれ?ブログの記事作成が動かない?

どうも記事作成画面に入ろうとすると動かなくなるようです。

そういえば、IE10 に入れ替えたら色々と IE がダメだったんで、IE9 で止めておいたのですが、先日の Windows Update で IE11 に更新されてしまって、そのままだったなーと思い出して、なんか HTML に不具合があるのかと思い、デバッグ用コードを入れた状態で動かしたんですが、関数まで届いていません。

あれあれ?と、コードの一番先頭にデバッグ出力を突っ込んでみたのですが、それすら動いていません。

サーバのプロセスを見ても、CGI が起動している気配が無いので、どうやら IE11 自身がコールした時点でフリーズしているようです。

なんだそれ(笑)

何度か繰り返すと、デスクトップもぐちゃぐちゃに・・・(explorer にも影響が出ている模様)

タスクマネージャーで確認すると IE11 本体の iExplorer がデッドプロセスになって残っています。

とりあえず iExplorer を強制終了して、問題のフォームを見てみると・・・

<form action="./blom.exe" method="post">
<input type="hidden" name="hoge" value="hogehoge">
<input type="submit" value="Go">
</form>

だけです。
ん〜、これでフリーズするってどういう事だ?
開発者ツールでトレースしてみようとしたら、開発者ツールを開くと、普通に動く。

他のタグでチェックしてみると、

<form action="./blom.exe" method="post">
<input type="hidden" name="hoge1" value="hogehoge1">
<input type="hidden" name="hoge2" value="hogehoge2">
<input type="submit" value="Go">
</form>

と input タグが2つある箇所ではフリーズしません。
もしかして、name 属性が1個しか無いとフリーズするの?
と単純な HTML で再現してみたら見事にフリーズします。

もしかして Win7 + IE11 固有の不具合なのかなと思い、Win8.1 + Desktop IE11 で試したら同様にフリーズ。

あらま、PCのアドオンとか関係なくバグっぽいな。

とりあえず2個以上にするとフリーズしないので回避は容易なんですが・・・無駄な input タグを作れと言うのはちょっと困る。後々のメンテナンス性が悪くなるってもんじゃないぞ。

しばし悩んだ上で、2個 name属性があればいいんだから、これでいいんじゃない?と

<form action="./blom.exe" method="post">
<input type="hidden" name="hoge1" value="hogehoge">
<input type="submit" name="hoge2" value="Go">
</form>

submit にも name 属性を付けたらフリーズしなくなりました。
とりあえずこれで回避するしかないかなぁ・・・

でも、これ相当困るバグじゃないかな。
form action でページ偏移をするケースって結構ありますし(私は特に多用します。get 使って Referer に残したくないので)input タグといえども submit に name 属性って普通つけていないし、今回はタマタマ気が付いたので良かったですが、普通 name 属性が1個だけだとフリーズする。なんて気が付かないですよ(^-^;

推測ですが、>と≧の不等号記述ミスとか、そんなレベルのIEのコードミスな気がします。

if (form.Objts.count >= 2)
{
for () { }
} else {
hogehoge();
}

と書く所を

if (form.Objs.count > 2)
{
for () { }
} else {
hogehoge();
}

みたいな?わからんですが(笑)

普段 IEメインな私ですが、ちょっといただけない不具合ですね。

<span style="color:red">追記</span>
次の日に他に確認して頂いた方が症状発生しないと言うことで、検証したのですが、どうやら OS が 32bit版だと発生するようです。
少ないとは言えども、32bit OS の場合もある訳ですので対応しない訳にはいかんですねぇ・・・

[更新日付:2014/02/07 10:35:34]
トラックバックを見る(0)
Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+a88e2b76b52fed23bb6d0d7ddc453cb1449c7e04]
TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+a88e2b76b52fed23bb6d0d7ddc453cb1449c7e04]

記事へのコメント

コメントはありません

名前
コメントキー
 
コメントする時はキーを正確に入力して下さい
コメント
アドレスを含んだコメントはできません
© 2008-10 A.K.I Software all rights reserved.