セブンアンドワイの検索フォームをサイドバーに
念のため、カスタマーサービスに問い合わせてみたところ、
という回答が得られました。
そんなわけで、ココログのサイドバー用に検索フォームを作ってみました。
ただ単純に(アフィリエイトプログラムとは関係なく)検索フォームを設置したい、というだけであれば、例えば以下のようなHTMLをメモタイプのマイリスト等に貼り付けてサイドバーに設置すれば可能ではあるようです。
ただ単純に(アフィリエイトプログラムとは関係なく)検索フォームを設置したい、というだけであれば、例えば以下のようなHTMLをメモタイプのマイリスト等に貼り付けてサイドバーに設置すれば可能ではあるようです。
<script type="text/javascript">
<!--
function search_action(iSi)
{
var aShozai = new Array('all', 'books', 'magazine', 'cd', 'dvd');
if (iSi < 0) { iSi = 0; }
return 'http://www.7andy.jp/' + aShozai[iSi] + '/search_result';
}
function search_ex(iSi)
{
var aShozai = new Array('all', 'books', 'magazine', 'cd', 'dvd');
if (iSi < 0) { iSi = 0; }
return 'http://www.7andy.jp/' + aShozai[iSi] + '/search';
}
function trap_submit(fObj)
{
if ( fObj.kword_in.value == '' ) {
fObj.action=search_ex(form.ctgy.selectedIndex);
}
if ( fObj.action == '' ) {
fObj.action = 'http://www.7andy.jp/all/search_result/' ;
}
if ( navigator.userAgent.match(/msie/i) ) {
document.charset = 'euc-jp' ;
fObj.submit() ;
document.charset = 'utf-8' ;
return false ;
}
return true ;
}
// -->
</script>
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tbody>
<tr>
<td>
<form method="get" action="http://www.7andy.jp/all/search_result/" onsubmit="return(trap_submit(this));" target="_blank" accept-charset="euc-jp">
<table cellpadding="0" border="0" cellspacing="0" style="width:100%;">
<tr>
<td>
<input type="hidden" name="fromKeywordSearch" value="true" />
<input type="text" maxlength="256" name="kword_in" value="" style="width:90%;" />
</td>
</tr>
<tr>
<td>
<select name="ctgy" onChange="this.form.action=search_action(this.selectedIndex);">
<option value="all" selected>すべての商品</option>
<option value="books">すべての本</option>
<option value="magazine">すべての雑誌</option>
<option value="cd">すべてのCD</option>
<option value="dvd">すべてのDVD</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="image" name="submit" src="http://www.7andy.jp/esb2004/images/b_search.gif" width="80" height="19" alt="検索" border="0" />
<input type="hidden" name="oop" value="on" />
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr><td>
<!-- Begin 7andy Link -->
<A HREF="http://www.7andy.jp/">
<IMG SRC="http://www.7andy.jp/esb/docs/images/7andylg2.gif" ALT="セブンアンドワイ" BORDER=0></a>
<!-- End 7andy Link -->
</td></tr>
</tbody></table>
<!--
function search_action(iSi)
{
var aShozai = new Array('all', 'books', 'magazine', 'cd', 'dvd');
if (iSi < 0) { iSi = 0; }
return 'http://www.7andy.jp/' + aShozai[iSi] + '/search_result';
}
function search_ex(iSi)
{
var aShozai = new Array('all', 'books', 'magazine', 'cd', 'dvd');
if (iSi < 0) { iSi = 0; }
return 'http://www.7andy.jp/' + aShozai[iSi] + '/search';
}
function trap_submit(fObj)
{
if ( fObj.kword_in.value == '' ) {
fObj.action=search_ex(form.ctgy.selectedIndex);
}
if ( fObj.action == '' ) {
fObj.action = 'http://www.7andy.jp/all/search_result/' ;
}
if ( navigator.userAgent.match(/msie/i) ) {
document.charset = 'euc-jp' ;
fObj.submit() ;
document.charset = 'utf-8' ;
return false ;
}
return true ;
}
// -->
</script>
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tbody>
<tr>
<td>
<form method="get" action="http://www.7andy.jp/all/search_result/" onsubmit="return(trap_submit(this));" target="_blank" accept-charset="euc-jp">
<table cellpadding="0" border="0" cellspacing="0" style="width:100%;">
<tr>
<td>
<input type="hidden" name="fromKeywordSearch" value="true" />
<input type="text" maxlength="256" name="kword_in" value="" style="width:90%;" />
</td>
</tr>
<tr>
<td>
<select name="ctgy" onChange="this.form.action=search_action(this.selectedIndex);">
<option value="all" selected>すべての商品</option>
<option value="books">すべての本</option>
<option value="magazine">すべての雑誌</option>
<option value="cd">すべてのCD</option>
<option value="dvd">すべてのDVD</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="image" name="submit" src="http://www.7andy.jp/esb2004/images/b_search.gif" width="80" height="19" alt="検索" border="0" />
<input type="hidden" name="oop" value="on" />
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr><td>
<!-- Begin 7andy Link -->
<A HREF="http://www.7andy.jp/">
<IMG SRC="http://www.7andy.jp/esb/docs/images/7andylg2.gif" ALT="セブンアンドワイ" BORDER=0></a>
<!-- End 7andy Link -->
</td></tr>
</tbody></table>
以下、余談ですが。
変なところで苦労したのが、文字コードの問題。
ココログがUTF-8なのに対してセブンアンドワイはEUC-JP……そのままだと日本語で検索すると文字化けしちゃうのですね。
formタグにaccept-charset="euc-jp"を付ければいけるかな?と思えば、Firefox・Operaあたりは大丈夫っぽいけれども、IEはNG……(_ _;)/。
仕方がないので、submit() のときだけ document.charsetを書き替える、という力業を導入してしまいました。
変なところで苦労したのが、文字コードの問題。
ココログがUTF-8なのに対してセブンアンドワイはEUC-JP……そのままだと日本語で検索すると文字化けしちゃうのですね。
formタグにaccept-charset="euc-jp"を付ければいけるかな?と思えば、Firefox・Operaあたりは大丈夫っぽいけれども、IEはNG……(_ _;)/。
仕方がないので、submit() のときだけ document.charsetを書き替える、という力業を導入してしまいました。
なので、スクリプト(JavaScript)オフの環境では、IEでの日本語検索はNGです。
■修正履歴
- 2006.09.06
- 検索ページが2つ開いてしまう(submitが2回実施される)不具合修正
window.event.cancelBubble=trueは止めて、onsubmitでコールする関数の戻り値で切り分けするよう修正。
- 検索ページが2つ開いてしまう(submitが2回実施される)不具合修正
« カレンダースクリプト:当月バックナンバーへのリンク追加 | トップページ | 【ココログプロ】最近のコメントをRSS配信するためのテンプレート »
「おもいつき」カテゴリの記事
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- 【覚書】風柳亭(ココログプロ)をレスポンシブWebデザイン化(Bootstrap3使用)(2015.10.09)
コメント
« カレンダースクリプト:当月バックナンバーへのリンク追加 | トップページ | 【ココログプロ】最近のコメントをRSS配信するためのテンプレート »
夜分遅くに失礼します。
この度はほんとうに有難う御座いました。
設置させていただきましたww(タグが上にできないのですが・・・/笑)
感謝の気持ちでいっぱいです。
有難う御座いました!!
投稿: あかづきん | 2006/08/19 00:13
あかづきん さん、どうもです。
お役に立てたようで幸いです。
#こちらもフォームを作る上でのちょっとした小技を学習できましたし(笑)
| (タグが上にできないのですが・・・/笑)
ん?意味がよくわかりませんが……。
投稿: 風柳>あかづきん さん | 2006/08/19 09:35
7&Yには脆弱性があります(した?)のでご注意を
ttp://d.hatena.ne.jp/Lucrezia/20060803
投稿: とーりすがーり | 2006/08/23 19:42
遅くなりましたが、コメントどうもです。参考にさせていただきます。
当方は幸い(?)会員登録していませんが。
#はっきりした根拠はないものの、サイトを見たときに“登録は見合わせた方がいい”とゴーストが囁いたので(w
投稿: 風柳>とーりすがーり さん | 2006/09/04 22:41