好的,这是一个完整的脚本,它遍历帖子书签并添加 QR 码。
我留下了帖子编号,因为它们在我使用的论坛上对我有用。如果您真的希望它们消失,请在该行$(this).text (" ");
之前添加。$(this).append (...
注意 CSS 用于样式(好),而不是标签属性(坏)。
该脚本略微复杂,需要withPages_jQuery
结构使其与 Google Chrome 兼容(如userscripts标签所示)。
// ==UserScript==
// @name _Minecraft Forum, post barcodizer
// @namespace _pc
// @include http://www.minecraftforum.net/topic/*
// @grant GM_addStyle
// ==/UserScript==
function GM_scriptMain ($) {
var postBkMarks = $("div.post_block div.post_wrap h3 span.post_id a");
postBkMarks.each ( function () {
var qrIMG = 'http://chart.googleapis.com/chart?chl='
+ encodeURIComponent (this.href)
+ '&chld=M%7C0&cht=qr&chs=125x125'
;
$(this).append ('<img src="' + qrIMG + '">');
} );
}
withPages_jQuery (GM_scriptMain);
GM_addStyle (
"h3 span.post_id a img {width: 125px; height: 125px;}"
);
function withPages_jQuery (NAMED_FunctionToRun) {
//--- Use named functions for clarity and debugging...
var funcText = NAMED_FunctionToRun.toString ();
var funcName = funcText.replace (/^function\s+(\w+)\s*\((.|\n|\r)+$/, "$1");
var script = document.createElement ("script");
script.textContent = funcText + "\n\n";
script.textContent += 'jQuery(document).ready(function() {'+funcName+'(jQuery);});';
document.body.appendChild (script);
};
(适用于 FF/GM、Chrome、Tampermonkey 和其他浏览器)。
Firefox (Greasemonkey) - 唯一版本(可能还有Tampermonkey)更简单:
// ==UserScript==
// @name _Minecraft Forum, post barcodizer
// @namespace _pc
// @include http://www.minecraftforum.net/topic/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
var postBkMarks = $("div.post_block div.post_wrap h3 span.post_id a");
postBkMarks.each ( function () {
var qrIMG = 'http://chart.googleapis.com/chart?chl='
+ encodeURIComponent (this.href)
+ '&chld=M%7C0&cht=qr&chs=125x125'
;
$(this).append ('<img src="' + qrIMG + '">');
} );
GM_addStyle (
"h3 span.post_id a img {width: 125px; height: 125px;}"
);