- ベストアンサー
IEで画面の一部が表示されない現象について
- IEで「まれに画面の一部が表示されない」という現象が起きています。正常に表示されることの方が多いですが、更新を繰り返すと数回~20回に一度、表示されない現象がおきます。
- IE8の開発者ツールで問題が起きた画面と起きていない画面を比べると、HTMLとレイアウトのテーブルが同一であるにも関わらず、表示されていないテーブルではOffset、長さ・高さが0になっています。
- テーブルの読み取りに失敗しているようですが、その原因がわかりません。ご存じの方いらっしゃいましたら、お教えください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> ただ、formタグを同じように構成している別の画面では問題が起きないことや、 仕様に従ってない html が氾濫してるので, ブラウザは mimetype:text/html はかなり無理やり解釈する実装だったりするから. この機会に修正してみるのがいいかな. > aspで出力すると上記問題が起きているのに、そこで出力したhtmlファイルの場合は何度再読み込みしても表示される為、最終的にどこが問題になっているのか、不明ではあります・・ aspの出力とそのままなhtmlで動作が異なるなら, MS得意の独自実装により, 拡張子aspで非標準mimetypeを取得して, (IEが)処理を変えているとかそんなところに原因がある気がします. (IEはHTTPヘッダではなく, 拡張子でmimetypeを判断するので. まぁ私はaspに全く詳しくないので正確かどうか知りませんが...)
その他の回答 (2)
- mazimekko3
- ベストアンサー率38% (74/194)
>> 1. タグの整合が取れてない. > について、具体的にはどのタグでしょうか。 <input type="image" src='../images/BtIns.gif' ></td> の行の次にある </form> が 開始と整合が取れてないよね. 具体的にいえば <form>...<table>...<tr><td>... </form> ってなってるから. >> 2. tr直下にformがある. > は、ただしくは、td内でformタグを完結させるか、form内部でtable全体を持たせる、ということでしょうか tr の子として form が出現してるから. 「html では, tr の子として出現できるのは, 空白ノードか, td と th のみだから許容されてない」と言ってるだけ. あなたが示す解決方法でいいよ.
お礼
ありがとうございます。 構成上、改変が必要ですが、作り直しを検討します。 ただ、formタグを同じように構成している別の画面では問題が起きないことや、 aspで出力すると上記問題が起きているのに、そこで出力したhtmlファイルの場合は何度再読み込みしても表示される為、最終的にどこが問題になっているのか、不明ではあります・・
- mazimekko3
- ベストアンサー率38% (74/194)
示されているコードを見るに, firefoxが正常に表示できるってのがおかしい. その理由としては, 1. タグの整合が取れてない. 2. tr直下にformがある. dtd が無いから html のバージョンは分からないけど, こんな記述を認めてるdtdは無いはず. 表示しないのが当然の結果.
補足
お返事ありがとうございます。 他の箇所もこれと同じ形式を取っていて、そちらでは表示されているのですが、まずはこの箇所を修正しようと思います。 ご指摘の点、もう少し詳しく教えていただけると助かります。 >1. タグの整合が取れてない. について、具体的にはどのタグでしょうか。 >2. tr直下にformがある. は、ただしくは、td内でformタグを完結させるか、form内部でtable全体を持たせる、ということでしょうか。 よろしくお願いいたします。
お礼
>ブラウザは mimetype:text/html はかなり無理やり解釈する実装だったりするから. おそらく、そういう解釈の中でのずれなんだと思います。 ほぼ同じと思われる内容で解釈結果が変るのは、こまるのですが。 >IEはHTTPヘッダではなく, 拡張子でmimetypeを判断するので. は知りませんでした。 ありがとうございました。