CGI-BBS > CGI > Perl > CGIに読み込んだ外部HTMLの中で外部.JSを実行したい。


カレッヂ
カレッヂ


質問者 つばめ  投稿日 2005/2/5(土) 03:26:39  [削除] (返信・回答が付いた後にこの質問の削除はできません)
フォームメール送信後の「送信完了」メッセージを
OPTIONの選択ごとに振り分けたいのですが、
振り分けたページのHTML上にJavaScriptが実行されません。
もう5日ほどイジっているのですが、問題点がわかりません。
どなたかご教示をお願いします。
----------------------------------------------------

CGIのソースは以下のようになっています。

# サブルーチンでヘッダを出力。

sub header_excuse {
	$headflag=1;
	print "Content-type: text/html\n\n";
	print <<"EOM";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<title>$subject</title>
<script type="text/javascript" language="JavaScript" src="excuse.js"></script></head>
$body
EOM
}

# OPTION別のHTMLを表示

 if ($prep eq '1') {
	&header_excuses;
	open (HTML, "$msg_excuse");
	@msg = <HTML>;
	close (HTML);
	$msg = join('',@msg);
	$msg =~ s/<!--view-->/$view/g;
	print $msg;
	exit;
}

↓外部HTML($msg_excuse)のソース

<body>
<script language="JavaScript">
<!---
document.write(newCont)
// --->
</script>
<noscript>JavaScriptをオンにしてください。</noscript>
<form>
<input type=button value="トップに戻る" onClick=window.open("$HOME","_top")>
</form>
</body>

---------------------------------------------
syntaxエラーもなく、HTMLは無事に読み込めますが、
同ディレクトリ内の「excuse.js」が認識されません。

$msg_excuseにあたるHTMLファイルのHEAD内にjavaScriptを直接書いて
単体でブラウズした場合はJavaScriptが実行されます。

問題点をご指摘ください。よろしくお願いします。


【習熟度】多少の改造ができる

返信(回答)する

 


Web裏技