(追記) Prime Videoで動かないなーと思ったら [name=”itemId”] だったのでセレクタを追加しました。
(追記2) またもやPrime Videoで動かないのでセレクタを追加しました。
(追記3) 変数を一部誤ってたようで恥ずかしい… co.jp以外でも使いたいので location.hostname を参照するようにしました。
(追記4) シリーズ表示(例:土星マンション, 瑠璃宮夢幻古物店)用のセレクタを追加しました。
(追記5) 最初から #cr-state-object のJSONを参照すれば良かったのでは、ということで内容をすっきり変更。
(追記6) Prime Videoで使われている [name=”titleID”] を追加

手垢が付きまくった小ネタ。
最初、URLを分解して抜き出すみたいなことをやってたのですが、ページ内のフォーム要素に記載されているようなのでそちらを利用することにします。
PCやスマホ画面を眺めてみると、商品コードが収まる <input type=”hidden”> 要素のnameが ASIN.0 とか ASIN とか asin などまちまちだったので、 document.querySelector に全てのセレクタをつっこんで、見つかったものを摘めばシンプルでよかろうと思いました。
なんやかんやで結局シンプルに、 #cr-state-object 要素のJSONをパースして、商品コード asin を抜き出し、無ければフォーム要素から抜き出すようにしてみました。

javascript:!function(){var e,t=window.location.hostname,a=document.querySelector("#cr-state-object");(e=a?JSON.parse(a.getAttribute("data-state")).asin:document.querySelector('[name="ASIN.0"],[name="ASIN"],[name="asin"],[name="itemId"],[name="titleID"]').value)&&(location.href="https://"+t+"/dp/"+e)}();

上のブックマークレットは、以下のコードをJavaScript Minifierに通しました。

(function(){
  var asin,
    h = window.location.hostname,
    state = document.querySelector('#cr-state-object');
  if ( state ) {
    asin = JSON.parse( state.getAttribute('data-state') ).asin;
  } else {
    asin = document.querySelector('[name="ASIN.0"],[name="ASIN"],[name="asin"],[name="itemId"],[name="titleID"]').value
  }
  if ( asin ) location.href = 'https://'+h+'/dp/' + asin;
})();