- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javascriptのエラー)
JavaScriptのエラー:URLを別ウィンドウに表示する方法は?
このQ&Aのポイント
- Perlで代入されたHPのURLをJavaScriptに引数として渡し、別ウィンドウで表示したいが、エラーが発生しています。
- JavaScriptのエラー: ')'が抜けているというエラーメッセージが表示されます。
- どこが間違っているのでしょうか?
- みんなの回答 (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"); としましょう。