
IEだと動くんですけど、Netscapeだと動かないんです。なんかsecurityErrorが出まして・・・。子画面を閉じるまでは動いてるんですが、親の再描画の部分でエラーが出てるようです。どこが原因かお分かりになる方いらっしゃいますか?よろしくお願いします。
<%//処理を何秒後に行うか 時間をset%>
function setTimer(){
timer1=setTimeout("clo()",3000);
timer2=setTimeout("location()",3000);
}
<%//windowをclose%>
function clo(){
window.close();
}
<%//親画面を再描画する%>
function location(){
var url='<html:rewrite page="/hogehoge/hoge.do" />';
window.opener.location.href = url+'?member_id='+変数;
}
No.3ベストアンサー
- 回答日時:
あれ?
でも一字一句同じurlを読み込めば再検索されると思いましたが・・・
↑これは余計でした。
えー、親画面の再描画を先にすると動かないそうですね。
でしたら、親画面のほうで子画面を閉じて渡された引数をurlに組み込んで再描画するようにしましょう。
子画面の処理は子画面で、親画面の処理は親画面で行うわけです。
まず、親画面となるhtmlに以下を足します。
<script type="text/javascript">
<!--
function redraw(num){
location.href='<html:rewrite page="/hogehoge/hoge.do" />?member_id='+num;
}
function location(number){
timer2=setTimeout("redraw("+number+")",3000);
}
//-->
</script>
そして、あなたの子画面のsetTimer()を
setTimer(){
timer1=setTimeout("clo()",3000);
opener.location(変数);
}
にします。
これで、子画面は自分を閉じるためだけにタイマーを持っているので、タイムラグが生じても問題なく動作するはずです。
この回答への補足
質問ですが、setTimer()の中の opner.location(変数)っていうのは、子画面のjavaScriptから親画面に記述したlocation(number)を呼び出すというイメージになるのでしょうか? 子画面から、親画面のjavaScriptを呼び出すとういのか可能なんですか?
補足日時:2005/05/29 14:58No.4
- 回答日時:
>子画面から、親画面のjavaScriptを呼び出すとういのか可能なんですか?
できますよ。
私はよく別フレームの関数を呼び出したりしていますがそれと同じ要領で。
例えば、フレームAからフレームBにある関数send()
を呼び出すには
top.B.send();
としてやればいいんですよ。
参考URLのサブウィンドウ編
[13]親ウィンドウの関数を呼び出す
[15]親ウィンドウからサブウィンドウの関数を呼び出す
あたりを見れば分かると思います。
参考URL:http://www.openspc2.org/reibun/javascript/index. …
No.2
- 回答日時:
何が原因なのかは知りませんが、
再描画=リロードなら、
window.opener.location.href=window.opener.location.href;
と、してやるとリロードできます。これだと
var url='<html:rewrite page="/hogehoge/hoge.do" />';
window.opener.location.href = url+'?member_id='+変数;
の部分が簡単になるので原因究明の一助になるかと。
No.1
- 回答日時:
現在NNが動かせる環境にないので、推測なのですが
window.closeされてる状態でlocation()を動かそうとするからではないでしょうか。
clo()を若干後にしてやるとか
あるいは、処理をまとめてしまってwindow.closeを後にしてやるとか
clo()の中で、
clearTimeout(timer2);
clearTimeout(timer1);
してやる(window.closeする場合には、その前に、タイマー停止する)
などしてみられたらどうでしょう
この回答への補足
それは試したんですが、ダメでした(^^; 親画面を再描画してから、子画面を閉じようとしたんですが再描画の処理で止まってしまっているらしく、子画面が閉じなくなってしまいまして・・・。やりたい事は、子画面を閉じた後に、親画面を再描画なんですが、単純に再描画ではなく、引数を渡して、一覧を再検索すると言う処理なんのですが・・・。なにかいい考えありますか?
補足日時:2005/05/28 23:04お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[Java] Edgeでのアドレスバー非...
-
同じページをブラウザで複数開...
-
opener.focus();が利かない
-
Javascript使用時に画面にキャ...
-
閉じた後のwindow.closed検知
-
デジタル時計の時刻合わせの方...
-
スクリプトって、何ですか?ど...
-
マイページはどこを開くの
-
JavaScriptのjquery.jqTOCの目...
-
一定時間おきにアラームやポッ...
-
Windows8でChromeの出方が変に...
-
ホームページ全体を拡大・縮小...
-
エクセルVBAでフォームのListbo...
-
エクセルのシート上に別のシー...
-
Painterのスプリクトの拡張子
-
Javascript_submit()完了後に処...
-
小さな表示窓の呼び方は
-
Outlookでこのような表示がされ...
-
エクスプローラー画面が一つし...
-
リトルバスターズEXを中古で購...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[Java] Edgeでのアドレスバー非...
-
同じページをブラウザで複数開...
-
ブラウザ Chromeを使っていて、...
-
サブウィンドウを常に最前面に...
-
画面を閉じる(×ボタンやタスク...
-
opener.focus();が利かない
-
window.open("about:blank")
-
親ウインドのASPをリロードさせ...
-
onclickでのページ内移動
-
閉じた後のwindow.closed検知
-
ツールバーやステータスバーな...
-
子画面を自動で閉じた後、親画...
-
呼び出されたページを閉じ、呼...
-
Request.Params("xxx")で「+」...
-
alertの最前面表示
-
リロードさせないワザ
-
しばらくお待ちくださいダイアログ
-
ホームページビルダーでウイン...
-
MM_openBrWindowとwindow.open
-
Javascript使用時に画面にキャ...
おすすめ情報