Skip to content

Instantly share code, notes, and snippets.

@lolicsystem
Created August 28, 2011 01:52
Show Gist options
  • Save lolicsystem/1176139 to your computer and use it in GitHub Desktop.
Save lolicsystem/1176139 to your computer and use it in GitHub Desktop.
megahitの月別イメージDVD発売リストに、ジャケ写も表示させるようにするグリモン。
// ==UserScript==
// @name megahit idol image list
// @namespace http://lolicsystem.com/gm_scripts/
// @description megahit idol image list
// @include http://www.megahit.co.jp/dvd/*
// @author Chiemimaru Kai (lolicsystem)
// @version 0.2
// ==/UserScript==
(function () {
//
// cho45's $X (http://lowreal.net/logs/2006/03/16/1)
//
$X = function (exp, context) {
if (!context) context = document;
var resolver = function (prefix) {
var o = document.createNSResolver(context)(prefix);
return o ? o : (document.contentType == "text/html") ? "" : "http://www.w3.org/1999/xhtml";
};
var exp = document.createExpression(exp, resolver);
var result = exp.evaluate(context, XPathResult.ANY_TYPE, null);
switch (result.resultType) {
case XPathResult.STRING_TYPE : return result.stringValue;
case XPathResult.NUMBER_TYPE : return result.numberValue;
case XPathResult.BOOLEAN_TYPE: return result.booleanValue;
case XPathResult.UNORDERED_NODE_ITERATOR_TYPE: {
result = exp.evaluate(context, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var ret = [];
for (var i = 0, len = result.snapshotLength; i < len ; i++) {
ret.push(result.snapshotItem(i));
}
return ret;
}
}
return null;
};
addimg = function (target, a, orghtml) {
GM_xmlhttpRequest({
method : "GET",
url : a,
onload : function(r) {
if (r.status == 200) {
var d = document.createElement('div');
d.innerHTML = r.responseText;
var imgsrc = $X(".//img", d)[0].src;
var img = '<br /><img src="' + imgsrc + '" />';
target.innerHTML = orghtml+img;
}
}
});
};
var aa = $X("//center/table/tbody/tr/td/table/tbody/tr/td[2]/a");
for (var i = 0; i < aa.length; i++) {
var a = aa[i].href;
var target = aa[i].parentNode;
var orghtml = target.innerHTML;
addimg(target, a, orghtml);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment