

今、ウェブ仕様のソフトウェアを作っているのですが、ほぼ完成したのでブラウザごとに動くか試験をすることにしました。
とりあえず、Firefox、Netscape、Lunascape、Operaをダウンロード、ソフトウェアを実行してみました。
結果は、Lunascape以外は途中で実行されないというものでした。
具体的に言いますと、このソフトウェアでは
0.フレームAでカテゴリを選択、フレームBに表示
1.フレームBにて、自分に当てはまる項目をチェックボックスでチェック
2.それぞれに割り当てられている数値の合計をフレームAに送信
3.作業がすべて終了後、フレームBに『結果』を表示
4.フレームAにある数値をフレームBへ送信
5.『結果』のプログラムにより、数値を加工・表示
というもので、今回問題になっているのは4、5です。
開発言語はHTMLとJavaScript、開発で使用したブラウザはIEです。
プログラムの問題というより、ブラウザの設定に問題があると思います
(少なくとも2はうまく行っているので)。
どうかよろしくお願いします。
No.5
- 回答日時:
良く解りませんが、
<body onLoad="check(this.form)">
ここのthis.formっておかしくないですか?
document.body.form?
普通はdocument.formじゃないでしょうか。
IEってこれで良いのでしょうかね。
alert(tf)でundefinedを確認できませんかね。
No.4
- 回答日時:
訂正:
○また、具体的な例を挙げるならばMimeタイプ取得のオブジェクトではIEだけ非対応といったケースも時折見られます。
×また、Mimeタイプ取得のオブジェクトではIEだけ非対応といったケースも時折見られます。
この回答への補足
少々遅くなってしまいましたが、以下が問題のプログラム(一部)です。
フレームA:main.html(固定)
<body><form name="form" method="post" target="フレームA" action="result.html">
<a href="select1.html" target="フレームB">春</a><input type="text" name="spring">
<a href="select2.html" target="フレームB">秋</a><input type="text" name="fall">
<input type="submit" value="計算">
</form></body>
フレームB:select1.html(0~2、select2.htmlも同様)
<head><script type= "text/javascript" language="JavaScript" src = "select.js"></script></head>
<body><form name="form" method="post" target="フレームA" action="main.html">
<input type="checkbox" name="a1">1月
<!--- ↑のようなものが数行つづくので省略 --->
<input type="submit" value="送信" onClick="count(this.form)">
</form></body>
フレームB:select.js(select1.htmlのスクリプト)
function count(tf) {
var total1 = 0;
if( tf.a1.checked == 1 )
total += 1;
<!--- 以下省略 --->
parent.フレームA.document.form.spring == total;
}
フレームB:result.html(結果画面)
<head><script type= "text/javascript" language="JavaScript" src = "result.js"></script></head>
<body onLoad="check(this.form)"><form name="form">
春:<input type="text" name="spring">
秋:<input type="text" name="fall">
春-秋:<input type="text" name="minus">
</form></body>
フレームB:result.js(結果画面のスクリプト)
function check(tf) {
spring = parent.フレームA.document.form.spring.value;
fall = parent.フレームB.document.form.fall.value;
minus = spring - fall;
tf.spring.value = spring;
tf.fall.value = fall;
tf.minus.value = minus;
}
・・・という感じです(実際のものとは違いますが)。
申し訳ありませんが、よろしくお願いします。
No.3
- 回答日時:
IEだけ不具合を起こすと言うケースもあります。
例えば、外部スクリプト読み込みでページのエンコードとスクリプトファイルのエンコードが違うとIEではエラーが起きますが、他の環境ではエラーになりません。
また、Mimeタイプ取得のオブジェクトではIEだけ非対応といったケースも時折見られます。
…何が言いたいかと言うと、まぁ要はソースを見なければ分からない、と。
No.2
- 回答日時:
いまいち送信というのがわかってないのですが、
この送信は、BのフレームからPOSTして、Aのフレーム内容を書き直す
という意味でしょうか?それともAのフレームのinputタグなりのフィールドに、値をセットするという意味でしょうか?
とりあえず、No1の方もおっしゃってるとおり、javascriptとHTMLの該当箇所のソースを見せてください。
No.1
- 回答日時:
HTMLとjavascript使用、で、各ブラウザでjavascriptの使用が許可されている、そして同じPCで確認したのなら、ブラウザ側の問題というより、ソースの記述自体の問題の可能性の方が高いです。
Lunascapeで動いたのは、IEのエンジンをそのまま使用する形だからでしょう。(LunascapeはレンダリングエンジンはIEそのものなので、これでバグチェックをするのはあまり意味が無いと思います。。。
FirefoxやOperaには、javascriptの記述エラーを表示するエラーコンソールがありますが、そちらにはエラーは何も表示されていませんか?
ソース(特にjavascript)を示して頂ければ、解決の糸口がつかめそうですが。
この回答への補足
※お礼を書いた後の内容になります。
思い直し確認してみたところ、(質問内にあるソフトウェアの説明の)2のJavaScriptでも『this.form』→『tf』を使っていました。
どうしてこの様なことがおきてしまったんでしょう?
早速のご解答、ありがとうございます。
そうなんですか?てっきりセキュリティなどの面かと思いました。
エラーコンソールも知りませんでした。IEのように『スクリプトエラーごとに通知』があるのかと探しては見たんですが・・・。
今試したところ、HTML内でJavaScriptのfunctionに『this.form』を送信、functionないでは『tf』としたことに文句を言っているようなんですが・・・。
この様な変換は無効になってしまうんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
JavaScriptからVBScriptの呼び...
-
javascriptからウィンドウを開...
-
ボタンのID名を取得するには?
-
JavaScriptでiframeの内容を「...
-
ウインドウの後ろに隠れている...
-
html メールリンクにて自動ファ...
-
ハイパーリンクに下線を表示す...
-
テキストボックス内にハイパー...
-
JavaScriptが有効ならA、無効ならB
-
別ファイルのfunctionの読み込み方
-
htmlファイルを開いた時の画面...
-
¥マークの検索について
-
マウスクリックした地点のテキ...
-
UAによるリダイレクト
-
iframe内をリロードできますか?
-
初心者です。あまりに初歩的な...
-
キーを押している間の時間を計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
HTMLでサブフレームから親のス...
-
ブラウザのURLアドレス文字表記...
-
フレームが入れ子状態です。フ...
-
submitボタンで他のフレームを...
-
インラインフレームで表示され...
-
チェックボックスのチェックを...
-
フレームで隠れるポップ
-
トップページを昼用と夜用を作...
-
openerは使えないのでしょうか?
-
showModalDialog()による新規ウ...
-
子ウィンドウ内にあるフレーム...
-
別ページのインラインフレーム...
-
子フレームの自動リロードは可...
-
ワンクリック、ダブルウインド...
-
フレームでの右クリック禁止
-
別フレームの中にあるインライ...
-
フレームを跨ぐドロップダウン...
-
<iframe>~</iframe>内のwindow...
-
Safariで<iframe>のinnerHTMLを...
おすすめ情報