楽天市場の商品ページにPHPでの処理結果を表示させる
色々制約がある楽天市場の商品ページ。通常だとJavaScriptも使えませんが、店舗用のサーバサービスである「楽天GOLD」を使うとJavaScriptが使えます。また「楽天GOLD」のページであれば、楽天市場のページにiframeを使って埋め込むことも可能です。
楽天GOLDでは基本的にhtmlしか使えないので、基本的にJavaScriptでの処理になります。それでやっても良いんですが、楽天GOLDは基本的にファイルサーバ的なサービスなので、処理系を作るのには向いてません。なので、プログラム処理する部分はサーバを借りてそこに置くしかありません。
で、結局流れとしては、
[自サーバ] プログラム処理して結果出力 ↓ [楽天GOLD] Ajaxで出力を取得して表示 ↓ [楽天市場] 楽天GOLDのページをiframe使って商品ページに埋め込むという感じ。
注意点
自サーバの出力を取得するためには、自サーバ側でクロスドメインを許可しておく必要があります。詳しくはこの辺を参考に。 続 クロスドメインで使う XMLHttpRequest と CORS の話 | 日頃の行い PHPでやるんなら、出力時にヘッダを付加しておくのが便利です。header('Access-Control-Allow-Origin: *');
Ajax取得はjQueryで適当にやりました。以下、サンプルコード。
$(document).ready(function() {
$.ajax({
url : 'http://hogehoe/sample.php',
type : 'GET',
dataType : 'html',
crossDomain : true,
}).done(function(data, textStatus, jqXHR) {
$("#result").append(data);
});
});
楽天市場は色々と使いづらいけど、やってみればいろいろやり方はあるんだなー


夏大好き人間なので、暑いのはさほど気にならないのだけど、エアコンだけはどうも苦手。昼の仕事は窓際で陽が当たって暑いのでエアコンを入れさせてもらっているのだけど、ちょうど僕の真上にエアコンがあるので28度に設定していても、動かして10分くらいで寒くなってしまう。
寒くなったら切るのだけど、今度は5分くらいで暑くなる。
なのでまたエアコンを付け、10分経ったら消す……その繰り返し。もうね、いっそのことそういうループ設定が出来ないのかよと思ってしまうくらい。暑いか寒いかどっちかってもうちょっとこうなんかさあ……夏の自然は好きでも、そういうところが憂鬱。
もちろん、僕が寒がりというのもあるんですけどね。前の職場でもだいぶ戦ったしなあ。エアコン操作パネルの近くでかつエアコンの吹き出し口から遠いところにいる太り気味の男性と、操作パネルから離れていてかつエアコン直下にいてほぼデスクから動かない僕とじゃ体感温度が10度くらい違いそうだし、そりゃもう一触即発ですよ。
まあでも前の職場を辞めてからはそういう環境にないんで、肩も腰も助かってますけどね。その代わり、夏の厨房は死ぬほど暑いけど(笑)
戦争したい人なんか誰もいなくて、
「どうやって戦争を避けるか」というアプローチの違いだと思っている。
