ついでに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上でこんな違いがでるの?