- ベストアンサー
Flashオブジェクト内にGoogleの検索窓を設置したい
- 55歳の初心者がFlashオブジェクト内にGoogleの検索窓を設置したいが、苦戦している。
- 検索窓を作成し、検索ボタンにアクションを記述したが、検索が機能しない。
- どのようにすれば検索が機能するか教授してほしい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
例えば, Google で「教えて」を検索したとします。 すると,URL欄は次のようになります。 ↓↓↓ http://www.google.co.jp/search?hl=ja&q=%E6%95%99%E3%81%88%E3%81%A6&lr= (※自動リンクがかからないように頭の h と w を全角にしてます) (実際は http://www.google.co.jp/search?hl=ja&q=%E6%95%99%E3%81%88%E3%81%A6&lr= ) 最後の,&lr= は消しても大丈夫そうです。 だから, http://www.google.co.jp/search?hl=ja&q=%E6%95%99%E3%81%88%E3%81%A6 でも良いわけです。 というわけで, > 1. テキスト入力フィールドを作り、インスタンス名 q_txt > 2. searchボタンを作り、インスタンス名 send_btn この q_txt と send_btn が _root なら _root で同じ階層にあり, なおかつ, send_btn がボタンシンボルのインスタンスであったとしたら, その send_btn に書くスクリプトは, ------------------------------------- on (release) { getURL("http://www.google.co.jp/search?hl=ja&q="+q_txt.text, "_blank"); } ------------------------------------- (※自動リンクがかからないように頭の h と w を全角にしてます) となります。 だいたいはコレで行けると思うのですが, (実際にアップしてみて「検索できない」という報告は受けていません) 2バイト文字は URL エンコードした方が良いです。 というわけで, q_txt.text をエスケープします。 ------------------------------------- on (release) { var ques = escape(q_txt.text); getURL("http://www.google.co.jp/search?hl=ja&q="+ques, "_blank"); } ------------------------------------- (※自動リンクがかからないように頭の h と w を全角にしてます) これ↑で,行けると思います。 試しに q_txt に「教えて」を入力し,ボタンをクリックすると, http://www.google.co.jp/search?hl=ja&q=%E6%95%99%E3%81%88%E3%81%A6 に行けるはずです。 もしくは,GETで変数を渡す場合は, エスケープする必要はなく, こうなります↓。 ------------------------------------- on (release) { var q = q_txt.text; getURL("http://www.google.co.jp/search?hl=ja", "_blank", "GET"); } ------------------------------------- (※自動リンクがかからないように頭の h と w を全角にしてます) HTML から検索する場合は, そのページで使用されている文字コードの種類やいろいろな都合で, 変な変数を送らなければなりませんが, デフォルトでは必要ないので,上記で行けると思いますよ。
お礼
sassakun様 とても明快なご説明、ありがとうございました。 おかげさまで目的を達成することができました。 >GETで変数を渡す場合は, >エスケープする必要はなく, >HTML から検索する場合は, >そのページで使用されている文字コードの種類やいろいろな都合で, >変な変数を送らなければなりませんが, >デフォルトでは必要ないので など、勉強になりました。 感謝いたしております!