■
ついでにid:vjuiceさんのスクリプトを参考に(というかほとんどパクリm(._.)m)
かっぱSLS−PLUS2へのリンクを表示するスクリプトを作ってみた。
そのままスクリプトとして動かすには、
下のように明示的にdocumentを宣言してやったら動いた。
pnir = new ActiveXObject("Sleipnir.API"); id = pnir.GetDocumentID(pnir.ActiveIndex); document = pnir.GetDocumentObject(id); var links = document.getElementsByTagName('a'); var prev = ''; for (var i = 0; i < links.length; i++) { var matched = false; var url = links.item(i).getAttribute('href'); if (url) { if (url.match(/\?seller=(A[0-9A-Z]+)/) || url.match(/\/customer-glance\/(A[0-9A-Z]+$)/)) { matched = true } } if (matched) { if (links.item(i).firstChild.nodeValue) { var id = RegExp.$1; if (id != prev) { var cgi = document.createElement('a'); cgi.href = "http://kappa.boy.jp/sls-plus2/query.php?mode=none&seller_id=" + id ; cgi.appendChild(document.createTextNode(id)); links.item(i).parentNode.insertBefore(cgi); } prev = id } } }
逆にこれを、マウスジェスチャに登録したらエラーが出たので、
下記に書き換えた。
var links = _document.getElementsByTagName('a'); var prev = ''; for (var i = 0; i < links.length; i++) { var matched = false; var url = links.item(i).getAttribute('href'); if (url) { if (url.match(/\?seller=(A[0-9A-Z]+)/) || url.match(/\/customer-glance\/(A[0-9A-Z]+$)/)) { matched = true } } if (matched) { if (links.item(i).firstChild.nodeValue) { var id = RegExp.$1; if (id != prev) { var cgi = _document.createElement('a'); cgi.href = "http://kappa.boy.jp/sls-plus2/query.php?mode=none&seller_id=" + id ; cgi.appendChild(_document.createTextNode(id)); links.item(i).parentNode.insertBefore(cgi); } prev = id } } }
なんで、同じSleipnir上でこんな違いがでるの?