PHP→JavaScriptへの書き換え
以下のような、フレームページのスタイルシートを変更するプログラムをPHPで書いたのですが、複数ある設置先サーバーの1つがPHP・CGIなどに対応していないため、JavaScriptに書き換える必要が出てきました。
そこでお聞きしたいのですが、以下のプログラムをJavaScriptに書き換えるにはどう記述すればいいでしょうか?
JavaScriptは本のサンプルを見ながらいじった程度なので、記述にいまいち自信がありません・・・。
【index.html】フレーム定義ページ
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<script type="text/javascript">
<!--
if( self != top ) { top.location = self.location; }
//-->
</script>
<title>CSSチェンジャー</title>
</head>
<frameset rows="40,*">
<frame name="top" src="top.php" scrolling="NO">
<frameset cols="17%,*">
<frame name="left" src="menu.php">
<frame name="right" src="main.php">
</frameset>
<noframes>
<body>
<p>このページを表示するには、フレームをサポートしているブラウザが必要です。</p>
</body>
</noframes>
</frameset>
</html>
【main.php】中央フレームページ
<?php
error_reporting(~E_NOTICE);
if($_COOKIE["css"]==""){
$css="<link rel=\"stylesheet\" type=\"text/css\" href=\"aqua.css\">";
}else{
$css.="<link rel=\"stylesheet\" type=\"text/css\" href=\"";
$css.=$_COOKIE["css"];
$css.=".css\">";
}
echo <<<HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
$css
<title></title>
</head>
<body>
<h3>CSSチェンジャー</h3>
<p>下から選んでください。</p>
<form action="" method="post">
スタイル:
<select name="cssselect">
<option value="blue" selected>ブルー系</option>
<option value="red">レッド系</option>
<option value="yellow">イエロー系</option>
</select>
<input type="submit" name="sub" value="変更">
</form>
</body>
</html>
HTML;
if(isset($_POST['sub'])){
$timeout = time() + 30 * 86400;
setcookie("css",$_POST['cssselect'],$timeout,'/~********/','www.*****.ne.jp');
header("location:index.html");
exit();
}
?>
【menu.php】【top.php】左フレーム/上フレームページ
<?php
error_reporting(~E_NOTICE);
if(!isset($_COOKIE["css"])){
$css="<link rel=\"stylesheet\" type=\"text/css\" href=\"aqua.css\">";
}else{
$css.="<link rel=\"stylesheet\" type=\"text/css\" href=\"";
$css.=$_COOKIE["css"];
$css.=".css\">";
}
echo <<<HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
$css
<title></title>
</head>
<body>
<p>フレームページ</p>
</body>
</html>
HTML;
?>
indexはすでにJavaScriptで書いてあるので大丈夫だと思いますが・・・。
お礼
ありがとうございます。 その通り、aaaを表示するのは規定なのでheaderは使えません。