BGGからゲーム情報を簡単に取得するブックマークレット(新版)


広告は適当。

昔作ったブックマークレットがなぜか動かなかったので、AI壁打ちして適当に作ってみました。
いくつかの値が正しくないので、引き続き壁打ち予定。
javascript:(function(){var ta=document.createElement('textarea');ta.style.cssText='position:fixed;top:10px;left:10px;width:380px;height:220px;z-index:999999;font-size:14px;padding:10px;background:#fff;border:3px solid #c00;box-shadow:0 0 15px rgba(0,0,0,0.5);font-family:monospace;resize:both;';function get(s){return document.querySelector(s)?document.querySelector(s).innerText.trim():'';}var title=get('h1 a')||'不明';var pub=get('a[href*="/boardgamepublisher/"]')||'不明';var year=get('a[href*="year="]')||'';year=year?year.replace(/[^0-9]/g,'')+'年':'不明';var players='不明',time='不明';document.querySelectorAll('.info-bar-row').forEach(r=>{var l=r.querySelector('.label')?.innerText.trim();var v=r.querySelector('.value')?.innerText.trim();if(l?.includes('Players'))players=v;if(l?.includes('Time')||l?.includes('Playing'))time=v;});if(players==='不明'){var m=document.body.innerText.match(/Players\D*(\d+)\D*(\d+)/);if(m)players=m[1]+'〜'+m[2]+'人';}if(time==='不明'){var m=document.body.innerText.match(/Playing Time\D*(\d+)\D*(\d+)/);if(m)time=m[1]+'〜'+m[2]+'分';}players=players.replace(/[-–]/g,'〜').replace(/players?/i,'人');time=time.replace(/[-–]/g,'〜').replace(/minutes?/i,'分');ta.value='原題:'+title+'\n作成:'+pub+'\n発売:'+year+'\nプレイ人数:'+players+'\nプレイ時間:'+time;document.body.appendChild(ta);ta.focus();ta.select();})();