- ベストアンサー
IE 11 で<FRAME>の内容が変化しない
HTMLの<FRAMESET>で3つのフレームを作り、そのうちの一つの内容を変えようとして、SRC アトリビュートでオリジナルの文書と違うHTML文書を指定しますが、何度IEを再起動してもその新しい文書が表示されず、いつまでもオリジナルが表示されます。 同じことを EDGE でやるとちゃんと表示されますので、やり方は間違ってないとおもいます。 なぜ IE ではこうなるのか、またどうすればそれを治せるのか、どなたか教えてください。お願いします。使っているコンピューターはWINDOWS 10 です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
どうも、信じられない現象ですね。 >ブラウザーをリフレッシュしただけです。 つまり結果として「ブラウザを開きなおしても」 addNewParts.htmlではなく、sampleDummy.htmlが出るという 補足なのですが。キャッシュなどが悪さしていることもありそうですが。 聞いている限りは、通常起こりえない問題に聞こえます。 IEが壊れているなど、そのHTML部分としてではなく、 別の観点での、調査をする方が先なのかもしれませんね。 たしかに、IEはもう衰退していく運命とは言え、 使っている人も多いことも事実なので、対応したいというのは わかるほうですが。
その他の回答 (4)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
> <frame src="addNewParts.html" name="products"> </frame>の src= のところをいくら変えても、表示されるのはいつも最初に指定した文書です。 どうやって変えましたか? このFORMで「下ウインドウ」=displayに対してPOSTしたのであれば、 <frame src="addNewParts.html" name="products"> </frame>ここは 変わらないわけで、productsを書き換えているつもりの、 ソース部が見当たらないので、そこらへんにヒントがありそうですね。 それと、addPart2DB.phpこいつは何を出力したのかも 回答側わからないので、何が起こっているのかを判断する十分な 情報がないように感じます。 ここら辺の開示でこの件は、割と簡単に解決する話だとは 思いますよ。
お礼
回答有難うございます。 SRC=のところをどうやって変えたのかというご質問ですが、もとのHTML文書を次のように手で書き換えてブラウザーをリフレッシュしただけです。 何もJavaScriptのコードによって書き換えているわけではありません。 これまで: <frame src="addNewParts.html" name="products"> 変化後 : <frame src="sampleDummy.html" name="products"> この sampleDummy.html という文書は文字や画像などはなく<body> の背景色を黄色にしただけのっぺらとしたものです。 私が期待しているのは、上のように書き換えたあとにブラウザーをリフレッシュしたら、もとのaddNewParts.htmlではなくて、こののっぺらとしたページが表示されるということなのです。
- ivno
- ベストアンサー率0% (0/1)
まず盛大な勘違いをなされておられるようですので、そちらを正します。 DTD宣言がHTML 4.01 Transitionalとなっています。 この部分ですね。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Transitionalはフレームを使用することができないルールとなっています。 ですので本来のルールに従うなら、TransitionalではなくFramesetを利用してください。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> こちらで表示されるか否かの確認を行ってください。
お礼
ご回答有難うございます。 お礼が遅れたことをお詫びいたします。申し訳ありません、 transitional ではなく frameset に変えてやってみましたが、変わりません。<frame src="addNewParts.html" name="products"> </frame>の src= のところをいくら変えても、表示されるのはいつも最初に指定した文書です。
- AsarKingChang
- ベストアンサー率46% (3467/7474)
こちらも、遅くなりすいません。 上のフォームが「下に対して」アクションを起こしているソースが 見当たりません。 いかが参考になると思いますが、 https://www.tagindex.com/html_tag/form/form_target.html いかがでしょうか? body frame A こいつが何もしないでPOSTすると、自分自身をリロードするため、 今回のような結果に見える。 frame B そうではなく、こっちにPOSTしたほうがいいのではないか?という 話になります。
お礼
毎度お礼が遅くなって、申し訳ありません。 確かに<form>タグに target="display" を書き忘れていますが、今の質問はボタンを押して別の文書を呼んでくるという以前のことで、<frameset> で区切った各フレームの中に表示する文書を、<frame src="....." > の中でいくらsrc="..." を変えても表示は元のままで変わらないということです。 何かいいお考えはないでしょうか?
- AsarKingChang
- ベストアンサー率46% (3467/7474)
何が起こっているのかが、わかりにくいので、 ソースを貼ってもらえますか?
お礼
ご回答有難うごぁいます。 早速にご回答を頂きながら、お礼が遅れたことをお詫びいたします。 ソースコードもつけずに質問したのは失策でした。 ここに添付させていただきます。 まず<frameset>のhtml !doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> devideMainFrame3.html</title> </head> <frameset rows="50%, 50%"> <frame src="addNewParts.html" name="products"> </frame> <frame src="dummy.html" name="display"> </frame> </frameset> </html> そして上側の<frame >、name="product" に入れるソースコード <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> addNewParts.html</title> </head> <body bgcolor="navy" style="font-size:16pt; color:yellow;font-family:sans-serif; font-weight:bold"> <center> <form method="POST" action="addPart2DB.php"> <table border="1"> <tr> <th>part number </th><th>category</th><th>description</th><th>qty in</th><th>location</th> </tr> <tr> <td><input type="text" name="pNumX" size="16"></td> <td><input type="text" name="catX" size="16"></td> <td><input type="text" name="descX" size="60"></td> <td><input type="text" name="qtyX" size="18"></td> <td><input type="text" name="locX" size="8"></td> <td><input type="submit" value="add new part to data base"></td> </tr> </table> </form> </center> </body> </html> 下の<frame>はダミーで真っ白な画面ですが、上の画面から送信ボタンを押すとPHPプログラムが起動し、下の画面に部品登録内容確認の表示をするようにしてあります。 この上のフレームに入れるHTMLの内容を変えても、表示されるものはいつも最初にあった内容です。何も変化しません。 IEの何かを設定しなくてはいけないのでしょうか?
お礼
いつまでもお付き合いいただいて、本当に有難うございます。 この現象は次の日になったら治っていて、変更したページが表示されますので、キャッシュやクッキーが関係しているのかもしれません。 また最初に質問した時には、Edgeではうまくいくように書きましたが、じつはEdgeでも同じことが起こっています。 しかしながら、取りあえずはプログラムの作成は進められますので、この件はあまり気にしないようにて、いったんは質問を閉じたいと思います。 色々とアドバイスを頂きありがとうございました。 ベストアンサーにさせて頂きます。