2

以下の Python CGI スクリプトでは、クリック時に画像を変更するために JavaScript 関数を使用しています。しかし、どうやらそれはうまくいかないようです。私はw3 school js exampleの例に従っています。だから私はただ準拠したいのですが、Python CGIスクリプト内でjavascriptを使用することは可能ですか?

同じ例を Python で実行する必要がある場合、どのようなアプローチが必要ですか。

#!/usr/bin/env python

import cgi

print """print "Content-type: text/html; charset=utf-8
<!DOCTYPE html>
<html>
<body>
<script>
function changeImage()
{
element=document.getElementById('myimage')
if (element.src.match("bulbon"))
  {
  element.src="../pic_bulboff.gif";
  }
else
  {
  element.src="../pic_bulbon.gif";
  }
}
</script>

<img id="myimage" onclick="changeImage()"
src="../pic_bulboff.gif" width="100" height="180">

<p>Click the light bulb to turn on/off the light</p>

</body>
</html>

"""
4

1 に答える 1

4

はい、PythonCGIscrpitを介してHTML内にjavascriptを送信できます。送信先の文字列の最初の部分を変更する必要があります。

print """Content-type: text/html; charset=utf-8\n\n
<!DOCTYPE html>
...

次のコメントを追加するために編集します。

コードには2つの問題がありました。

1つ目は、すでに文字列を印刷していたため、「print」の部分を削除する必要がありました。

2つ目は、CGIの仕様であり、ヘッダーを「\ n\n」で区切る必要があります。次の部分の「content-type:text / html; charset = utf-8 \ n \ n」(例:"..."、(実際には、暗黙の "\ n"が1つあるので、もう1つ追加するだけで十分です...)。

于 2013-03-05T15:18:18.050 に答える