※ ChatGPTを利用し、要約された質問です(原文:opera、javascript、EUC-JPでエラー)
opera、javascript、EUC-JPでエラー
このQ&Aのポイント
operaのみでページ内にgoogle検索のフォームを組み込んだページが正常に動作しない問題が発生しています。
IE、safari、firefoxでは問題なく動作するが、operaでのみ発生するため、原因を特定する必要があります。
EUC-JPのままでも正常に動作させる方法を探していますが、UTF-8に変えることで解決することは確認できています。
opera、javascript、EUC-JPでエラー
ページ内に google検索のフォームを組み込み、そのフォームを別のリンクから間接的にsubmitするページを作りました。関連する他のページがEUC-JPなので、このページもEUC-JPで作りました。
しかし、IE,safari,firefoxでは問題なく動くのですが、opera(9.5)のみうまく動きません。UTF-8に変えればoperaでも正常に動くのを確認しましたが、EUC-JPのままで正常に動かす方法はないでしょうか。
実際は、独立したページではなく、ほかのページとおなじ部品を共用したりしているのでEUC-JPのままで動かしたいのです。
よろしく、お願いいたします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP" />
<script type="text/javascript">
<!--
function GoogleSearch(search_key){
document.google_search.sbi.value = search_key;
document.google_search.sitesearch[1].checked = true;
document.google_search.submit();
document.google_search.sitesearch[0].checked = true;
}
// -->
</script>
</head>
<body>
<form name="google_search" method="get" action="http://www.google.co.jp/custom" target="google_window">
途中省略
</form>
<br />
インターネットを<a href='javascript:GoogleSearch("検索語")'>検索語</a>で検索
</body></html>
operaでは検索語によって状況が変わります。
・英語の場合はOK
・スペースを含まない日本語の場合は、google searchの
呼び出しはされるが、引き渡される検索語が化けてNG
例えば検索語が "日本語" だと 「�ユ��� に一致する情報は見つかりませんでした。」となります。
・スペースを含む日本語だと、google searchの呼び出し以前に、
「Syntax error while loading: line 1 of unknown script :
Expected statement
GoogleSearch("�ユ��� 罎�膣�)」とエラーコンソールに出てしまいます。
お礼
コメントありがとうございました。 早速、試してみたのですが、残念ながら状況は変わりませんでした。 考えたら手元のzaurusとPHSにもoperaが入っているので、これらで試したところ問題ありませんでした。そこでPCのoperaも9.50をアンインストールして、だいぶ古いバージョンですが、8.54を入れたところ問題ありませんでした。一方、最新の9.51は駄目でした。 どうもoperaのバグらしいので、問い合わせてみることにします。 問い合わせの状況を確認する間、この質問はオープンしておくことにします。 良いサイトの紹介いただき、ありがとうございます。
補足
すばやくoperaから回答が来ました。 >Bug 報告ありがとうございます。 >Opera Software 東京オフィス、バグ受付担当でございます。 >本件は弊社でも認識し開発にて対策中でございます。 だそうです。