document.write();の中に<script language = "javascript">を入れるには?
[上に]
[前に]
[次に]
rain
[E-Mail]
1999/06/15(火) 15:29:56
<script language = "javascript">
function controll(){
var popup = window.open('','cotroll','toolbar=no...');
popup.document.open();
popup.document.write("<html>");
popup.document.write("<head><title>画面2</title>");
popup.document.write(" <script language = 'javascript'>");
popup.document.write(" 〜 scriptの内容 〜 ");
popup.document.write(" </script>");
popup.document.write("</head>");
popup.document.write("<body></body>");
popup.document.write("</html>");
popup.document.close();"
}
location.href = "../../画面1変更.htm";
controll();
</script>
のような新規画面で[script]を使うプログラムを作りたいのですが、
[script]の中に[script]を入れることは出来ないのでしょうか?
Tmb
1999/06/15(火) 15:50:35
これは「こんなスクリプトを作ってみたけど思うように動作しなかった」と捉えていいのですか?
もしそうなら,どんな動作になったか(エラーメッセージなど)を書いてくれないと,判断に
苦しみます。
ただ,スクリプトを見て気になる点がいくつか。
1. location.hrefの次の関数は間違いなく呼び出されてますか?
→関数にalertなどを入れて確認
2.SCRIPT内に「</」を直接書くことは薦められません。
詳しくは,このとほほさんのサイトのJavaScriptに関するところにも
解説があったと思います。
rain
1999/06/15(火) 17:00:47
すいませんでした。
思うように動かなかったのです
実際は、CGIでHTMLのコーディングを吐き出しているという形式のプログラムです。
新規で「open」したウィンドウのスクリプト内から、別のページに飛ぶ(リモコン画面)のようなものを作りたいのです。
「location」については、呼び出せているようです。
現状のままで実行するとエラーが、「unterminated string literal」とあるので、終了文字がないのかも
と思い、忠告の「</」を修正してみると、
エラーは出なくなるのですが、「document.write()」中の「script」が記入されていないために
リンクしようとした場合に、エラーが起こってしまう。
「script」以外のところは、正常に「document.write()」されています。
なぜなのでしょうか?
ちなみにテストは、NN4.04です。
Tmb
1999/06/15(火) 17:43:57
試しに簡単なHTML書いてテストしてみましたが,問題なく動作しましたが。
>unterminated string literal
もしかしてdocument.close();のあとの「”」のせいってことはないですか?
#単純な打ち損ねだと思って触れてなかったのですが。
一応テストしたのも載せときますね。
<html><head><title>タイトル</title>
</head>
<body>
<script language="javascript">
function func(){
var popup=window.open('');
popup.document.write('<HTML><HEAD><TITLE>TITLE<\/TITLE>');
popup.document.write('<SCRIPT language="javascript">');
popup.document.write('function func2(){alert("hoge");}');
popup.document.write('<\/script><\/HEAD><BODY>');
popup.document.write('<a href="#" onClick="func2();return false;">aaa<\/a>');
popup.document.write('<\/BODY><\/HTML>');
popup.document.close();
}
</script>
<a href="#" onClick="func();return false;">aaa</a>
</body></html>
Tmb
1999/06/15(火) 18:01:35
言い忘れてましたが,上のサンプルはMac+NN3で確認しました。
それと
>unterminated string literal
ですが,これから判断すると「閉じられてない文字列」があったわけですよね?
もしかして
>〜SCRIPTの内容〜
の中での「"」や「'」の扱いに原因があるのでは?
いちばん外側のが「"」ですから内部では基本的に「'」を使い,必要に応じて「\"」を
使わなければならないのですが,そこには問題ないですか?
rain
1999/06/15(火) 18:43:10
[[解決]]
どうやら、おっしゃる通り「”」や「’」のせいでした。
きれいなプログラムにしなければ、とつくづく思いました。
ありがとうございました。
[上に]
[前に]
[次に]