カレッヂ |
質問者 みよし
投稿日 11/2(金) 18:40:56
HTMLでは表示できていたのに、 下記のようにCGIにScriptを読み込むと表示されなくなりました。 どこが悪いのかできれば教えてください。 よろしくお願いします。 print <<"END"; Content-Type: text/html <html> <head> <title>あああ</title> <body> <SCRIPT LANGUAGE="JavaScript1.2"> <!-- var no = 6; leaf = new Array(); leaf[0] = "images/icho.gif"; leaf[1] = "images/icho2.gif"; var imgSize = 40; var _ver=(document.all?3:(document.getElementById?1:(document.layers?2:0))); var dx, xp, yp; var am, stx, sty; var i; function getDocumentSize() { if(_ver == 1 || _ver == 2) { doc_width = self.innerWidth; doc_height = self.innerHeight; } if (_ver == 3) { doc_width = document.body.clientWidth; doc_height = document.body.clientHeight; } } getDocumentSize(); xp = new Array(); yp = new Array(); stx = new Array(); sty = new Array(); yx = new Array(); j = 0; for (i = 0; i < no; ++ i) { xp[i] = Math.random()*(doc_width-imgSize); yp[i] = Math.random()*doc_height; stx[i] = Math.random()*4; sty[i] = 3 + Math.random()*2; if (_ver==2) { document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + leaf[j] + "\" border=\"0\"></layer>"); } else if (_ver==1 || _ver==3) { document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px; width:1;\"><img src=\"" + leaf[j] + "\" border=\"0\"></div>"); } if (j == (leaf.length-1)) { j = 0; } else { j += 1; } } function leafLoop() { for (i = 0; i < no; ++ i) { yp[i] += sty[i]; xp[i] += stx[i]; if (yp[i] > doc_height-imgSize || xp[i] > doc_width-imgSize) { getDocumentSize(); if (i%4) { xp[i] = Math.random()*(doc_width-imgSize); yp[i] = 0; } else { xp[i] = 0; yp[i] = Math.random()*(doc_height-imgSize); } stx[i] = 1 + Math.random()*5; sty[i] = 4 + Math.random()*2; } leafMove("dot"+i,yp[i],xp[i]); } setTimeout("leafLoop()", 30); } function leafMove(lay,t,l) { if (_ver == 1) { document.getElementById(lay).style.top = t; document.getElementById(lay).style.left = l; } if (_ver == 2) { document.layers[lay].top = t; document.layers[lay].left = l; } if (_ver == 3) { document.all[lay].style.pixelTop = t; document.all[lay].style.pixelLeft = l; } } if (_ver) { leafLoop(); } //--> </SCRIPT> </body> </html> |
回答者 呑兵衛@大阪
[削除]
投稿日 11/2(金) 20:00:06
if (_ver==2) { document.write("<layer name='dot"+i+"' left='15' top='15' visibility='show'><img src='"+leaf[j]+"' border='0'></layer>"); } else if (_ver==1 || _ver==3) { document.write("<div id='dot"+i+"' style='POSITION: absolute; Z-INDEX: "+i+"; VISIBILITY: visible; TOP: 15px; LEFT: 15px; width:1;'><img src='" + leaf[j] + "' border='0'></div>"); } です。 |
回答者 あけび
[削除]
投稿日 11/2(金) 21:57:40
print <<"END"; では、ヒアドキュメント内のエスケープ文字やperl変数が評価されて 結果が変わってしまいます。 print <<'END'; と、シングルクォートで括れば 単純に元のHTMLのまま表示されるようになります。 #ヒアドキュメント終端の END が無いのは #単に書き込み忘れですよね? |
質問者 みよし
[削除]
投稿日 11/5(月) 09:20:44
呑兵衛@大阪 さん あけび さんレスありがとうございます。 CGIもScriptも動くようになりました。 どうもありがとうございました。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |