Greasy Fork

s1新版麻将脸显示脚本

将新增的麻将脸代码转换成图片

当前为 2018-09-22 提交的版本,查看 最新版本

// ==UserScript==
// @name         s1新版麻将脸显示脚本
// @namespace    s1newmjfacejioben
// @version      1.0
// @description  将新增的麻将脸代码转换成图片
// @author       a simple s1 user
// @match        https://bbs.saraba1st.com/2b/*.html
// @match        https://bbs.saraba1st.com/2b/forum.php?mod=viewthread&tid=*
// ==/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

var idd = 0
var id = 0
var yuanshi = "wu"
var biaoqin = "wu"
var urlll = "wu"

idd = 252
for (var i=0;i<39;i++)
{
id = idd + i ;
yuanshi = "[c:" + id + "]";
biaoqin = "mjlc::" + id + "::";
replace(yuanshi,biaoqin);
urlll = "<img src =\"http://mahjongface.tk/smiley/carton/" + id + "\">"
document.body.innerHTML = document.body.innerHTML.replace(biaoqin, urlll);
} //这一段是动漫分类的

idd = 1691
for (var i=0;i<12;i++)
{
id = idd + i ;
yuanshi = "{:1465_" + id + ":}";
biaoqin = "mjlf::" + id + "::";
replace(yuanshi,biaoqin);
urlll = "<img src =\"http://mahjongface.tk/smiley/face/" + id + "\">"
document.body.innerHTML = document.body.innerHTML.replace(biaoqin, urlll);
} //这一段是普通分类的


    replace(/\[a:017]/g,'mjla::017::');
    replace(/\[a:018]/g,'mjla::018::');
    document.body.innerHTML = document.body.innerHTML.replace(/mjla::018::/g, '<img src =\"http://mahjongface.tk/smiley/animal/018">');
    document.body.innerHTML = document.body.innerHTML.replace(/mjla::017::/g, '<img src =\"http://mahjongface.tk/smiley/animal/017">');
    //动物分区仅有两个所以我直接整了

    //总体上看 代码冗余好像挺多的 所以一般关闭此脚本就好 看到有表情代码显示不出的话再开 再刷新

})();