• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javascriptのエラー)

JavaScriptのエラー:URLを別ウィンドウに表示する方法は?

このQ&Aのポイント
  • Perlで代入されたHPのURLをJavaScriptに引数として渡し、別ウィンドウで表示したいが、エラーが発生しています。
  • JavaScriptのエラー: ')'が抜けているというエラーメッセージが表示されます。
  • どこが間違っているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

恐らく   print "<A HREF=\"javascript:abc($url)\">別ウィンドウに表示</A>"; のようになっているのだと思いますが、この出力結果(HTML内のJavaScript)は   <A HREF="javascript:abc(http://example.com/)">別ウィンドウに表示</A> のようになります。 このとき、URLがクォートで囲まれていないのが問題なのです。 JavaScriptでは、文字列はクォートで囲まれていなければならないので、出力結果は   <A HREF="javascript:abc('http://example.com/')"> となっている必要があります。 ですのでCGI側でも   print "<A HREF=\"javascript:abc('$url')\">別ウィンドウに表示</A>"; とすればよいわけです。 また、JavaScriptの関数 abc では、引数の def を window.open の中で "def" として書いてありますが、これも間違いです。 これでは「def」という文字列を指定してしまったことになり、変数 def の内容(引数として渡されたURL)が使われていません。 変数はクォートで囲まずに使う必要があるので、ここは   new1 = window.open(def, "", "width=400, height=310"); としましょう。

関連するQ&A