htsign's blog

ノンジャンルで書くつもりだけど技術系が多いんじゃないかと思います

いろんなガジェット系海外通販サイトを横断検索できるページ作りました

一部POSTでしかリクエストを受け付けない検索ページがあったのでびっくりするほどややこしい作りになりました。
例によって設計せずに組み始めたため、非常に可読性の低いコードになったと思いますが、別にそんなことはどうでもいいです。
比較的簡単に検索対象を増やせるような作りに徹してみたため、動作部分の改良を度外視すれば手を加えやすいコードになっているのではないかな、と思います。

<iframe>と同一生成元ポリシー*1の仕様上、検索後にもう一度検索したい場合は「リセット」ボタンを押して中身をクリアする必要があります。
めんどくさいと思いますが、これは回避不可能*2でした。

https://dl.dropboxusercontent.com/u/414379/www/searchAll/searchAll.html

現状では Clove Technology, 1shopmobile, eXpansys Japan, Handtec の4サイトからの検索ができるようになってます。
別にガジェット系でなくてもQUERY.ifrさえ書き換えれば自由にサイトの追加・変更・削除は可能ですが、
作成目的がこれ(海外端末の検索)だったので、このようにしました。

実際に追加する場合は、送信されるクエリ部分を "%s" とすれば大丈夫です。

他にも日本からでも容易に注文ができ、中間業者なしに個人輸入が可能な通販サイトがあれば教えてくだしあ。

*1:基本的に、別のドメインを持ったサイトへはJavaScriptではアクセスできないようになっています。これを同一生成元ポリシー(Same Origin Policy)と言います。
これが可能だと、例えば悪意を持ったサイトが別の通販サイトを呼び出してWebページ利用者の意思とは関係なしに勝手に買い物をしてしまう、といったことが可能になってしまいます。

*2:本当は頑張れば回避できますが、設計段階でミスったのでこれを可能にするにはコードを書き直さなきゃいけなくてめんどいのです。