#1. はじめに
GoogleのISBN検索結果から著者名とタイトルを取得するブックマークレット GetAuthorTitle - Qiita
国立国会図書館オンラインのISBN検索結果から著者名とタイトルを取得するブックマークレット GetAuthorTitleNDL - Qiita
の派生版です。
同人誌にはISBNのようなものがないので、タイトルをだいぶ入力して検索しないといけないので、あまり省力化はできず、サークル名の入力を省ける程度です。
大量に同人誌をスキャンするため、わずかでも省力化できるように作成しました。
サークル名が書かれている箇所を探す手間が省けて、結構楽になります。
先の2つのブックマークレットと異なり、検索結果から取得するのではなく、商品ページまたは買取商品ページから取得します。
#2. ソース
ブックマークレット用1行版
javascript:(function(){/*GetCircleTitle v1.02*/var i,j,h1,it,itt,t,tt,tp,s1,idx,sc,st,sp,s="";it=document.getElementById("item_title");if(it!==null){itt=it.textContent;s1=itt.split("/");sc=s1[1].trim();st=s1[0].trim();idx=st.indexOf(">>%20");if(idx>=0){st=st.substr(idx+3);}s="["+sc+"]%20"+st;}else{t=document.getElementById("title");if(t!==null){tt=t.textContent;s1=tt.split("/");sc=s1[1].trim();st=s1[0].trim();idx=st.indexOf(">>%20");if(idx>=0){st=st.substr(idx+3);}s="["+sc+"]%20"+st;}else{tp=document.getElementsByClassName("title_product%20mgnB15");if(tp[0]!==null){tt=tp[0].textContent;s1=tt.split("/");sc=s1[1].trim();st=s1[0].trim();idx=st.indexOf(">>%20");if(idx>=0){st=st.substr(idx+3);}s="["+sc+"]%20"+st;}}};if(s==""){alert("none")}else{if(navigator.clipboard){navigator.clipboard.writeText(s).then(()=>alert(s),()=>alert(s+"%20をクリップボードにコピーできませんでした。"))}}})()
整形版
javascript:(function(){
/* GetCircleTitle v1.02 */
var i, j, h1, it, itt, t, tt, tp, s1, idx, sc, st, sp, s="";
it = document.getElementById("item_title");
if (it !== null) {
itt = it.textContent;
s1 = itt.split("/");
sc = s1[1].trim();
st = s1[0].trim();
idx = st.indexOf(">>%20");
if (idx >= 0) {
st = st.substr(idx + 3);
}
s = "[" + sc + "]%20" + st;
} else {
t = document.getElementById("title");
if (t !== null) {
tt = t.textContent;
s1 = tt.split("/");
sc = s1[1].trim();
st = s1[0].trim();
idx = st.indexOf(">>%20");
if (idx >= 0) {
st = st.substr(idx + 3);
}
s = "[" + sc + "]%20" + st;
} else {
tp = document.getElementsByClassName("title_product mgnB15");
if (tp[0] !== null) {
tt = tp[0].textContent;
s1 = tt.split("/");
sc = s1[1].trim();
st = s1[0].trim();
idx = st.indexOf(">>%20");
if (idx >= 0) {
st = st.substr(idx + 3);
}
s = "[" + sc + "]%20" + st;
}
}
};
if (s == "") {
alert("none")
} else {
if (navigator.clipboard) {
navigator.clipboard.writeText(s).then(
()=>alert(s),
()=>alert(s + "%20をクリップボードにコピーできませんでした。")
)
}
}
})()
#3. 使用方法
まずブックマークレットとしてブラウザのお気に入りに登録して下さい。
駿河屋で同人誌を検索するか、あんしん買取検索で同人誌を検索するかして、商品を1つ選んで下さい。表示されたらブックマークレットを実行して下さい。
「[サークル名] タイトル」の形でアラートを表示しつつクリップボードにコピーされます。
引っかからない場合、「none」とアラートを表示します。
普通の検索で見つからないタイトルでも、あんしん買取検索で引っかかる場合があります。
たまにクリップボードにコピーされないことがありますが、ページをリロードすると直ります。買取商品ページで何回かリロードしないと取得できないことがあります。
#4. 解説
駿河屋の商品ページまたは買取商品ページに合わせてサークル名とタイトルを取得します。
Windows 10+Google Chrome 92で動作確認しています。
#5. 改版履歴
2022/01/03 v1.02 クリップボードにコピーされなくなっていたのを修正。(Promiseを受けていなかったのを修正)
2021/08/09 v1.01 駿河屋本体に在庫がなく商品ページがマーケットプレイス一覧になった場合に対応。
2021/08/07 v1.00 初版