AWSで返された画像のURLとかAmazonのASINコードから09で類推した画像が、1*1の黒いGIF画像だった場合に、01で類推できるURL無理やり置換してみる実験。
通常Amazon.co.jpの画像は、ASINコードがB00009LVXTだと、
https://m.media-amazon.com/images/P/B00009LVXT.jpg
となります。しかしながら、このASINの商品は輸入物なので、実際は、
https://m.media-amazon.com/images/P/B00009LVXT.jpg
です(ASINに続く数字が09ではなく01で、それ以外は固定)。
また、Amazon Web Services Discussion Boardには、こういった実際には画像が無いURLの場合に「画像が無いよ」画像を返すJavaScriptが投稿されています。
<img src="https://m.media-amazon.com/images/P/B00009LVXT.jpg"
onload="if(this.width=='1') this.src='/images/no-image.jpg'" />
こんなんなっているので、これをHackして無理やり置換してみようとかいう。
<img src="https://m.media-amazon.com/images/P/B00009LVXT.jpg"
onload="if(this.width=='1') this.src=this.src.replace('.09.','.01.')" />
こんなんでどうよ?
「09で類推できるURLと01で類推できるURLのどちらにも画像がなかった場合はどうするのよ?」とかアレな罠がありますが、onload
イベントはJavaScriptでsrc
を書き換えたあとの読み込み終了でも起きる(と思う)ので、うまくJavaScriptコードを書いてやれば、「09で類推できるURLと01で類推できるURLのどちらにも画像がなかった場合は画像が無いよ画像を返す」とかも可能な気がする。