// ==UserScript==
// @name s1新版麻将脸显示脚本
// @namespace s1newmjfacejioben
// @version 1.1
// @description 将新增的麻将脸代码转换成图片
// @author a simple s1 user
// @match https://bbs.saraba1st.com/2b/*.html
// @match https://bbs.saraba1st.com/2b/forum.php?mod=viewthread&tid=*
// @downloadURL none
// ==/UserScript==
(function() {
function replace(search,replacement){
var xpathResult = document.evaluate(
"//*/text()",
document,
null,
XPathResult.ORDERED_NODE_ITERATOR_TYPE,
null
);
var results = [];
// We store the result in an array because if the DOM mutates
// during iteration, the iteration becomes invalid.
while(res = xpathResult.iterateNext()) {
results.push(res);
}
results.forEach(function(res){
res.textContent = res.textContent.replace(search,replacement);
})
}
//上面那一段我也不懂什么意思,作用应该就是让replace仅限于可见文本。代码来源:http://bit.ly/2PR7uDG
replace(/\[a:/g,'::mjla');
//这一段是动物分类的
replace(/\[c:/g,'::mjlc');
replace(/]/g,'ljm::');
//这一段是动漫分类的
replace(/\{:1465_/g,'::mjlf')
replace(/:}/g,'ljm::')
//这一段是普通分类的
window.onload = function () {
for (var i=0;i<12;i++){
var id = 1691 + i;
var zhengze = new RegExp("::mjlf" + id + "ljm::","g")
var img = "
";
document.body.innerHTML = document.body.innerHTML.replace(zhengze, img);
}//这一段是普通分类的
for (var i=0;i<39;i++){
var id = 252 + i;
var zhengze = new RegExp("::mjlc" + id + "ljm::","g")
var img = "
";
document.body.innerHTML = document.body.innerHTML.replace(zhengze, img);
}//这一段是动漫分类的
document.body.innerHTML = document.body.innerHTML.replace(/::mjla017ljm::/g, '
');
document.body.innerHTML = document.body.innerHTML.replace(/::mjla018ljm::/g, '
');
//动物分类才增加两个,我都不想用for循环了
}
})();