假设这是合法的(如果您对此脚本进行了修改,将此脚本嵌入到您的站点中可能不合法),我们可以使用online JavaScript beautifier对脚本进行解压缩。结果是这样的:
http://www.jsfiddle.net/T4Rrh/
我们感兴趣的比特是最后for
循环在那里,每个按钮进行处理。我们可以安全地去除大部分的图像生成和协议嗅探(不必要的实践中,通过的方式)来减少码的重量:
var type = (button["button"] || "button-1.png").split("-");
var prefix = ("https:" == document.location.protocol) ? "https://mixi.jp/" : "http://static.mixi.jp/";
if (!type || type.length < 2) type = ["button", "1.png"];
if (type[1].indexOf(".") == -1) type[1] += ".png";
var src = (type[0] == "button") ? [prefix, "img/basic/mixicheck_entry/bt_check_", type[1]] : (type[0] == "icon") ? [prefix, "img/basic/mixicheck_entry/icon_mixi_", type[1]] : [prefix, "img/basic/mixicheck_entry/bt_check_1.png"];
src = src.join("");
和
var img = document.createElement("img");
img.setAttribute("src", src);
img.style.border = "0";
var element = button.element;
for (var j = element.childNodes.length - 1; j >= 0; j--) {
element.removeChild(element.childNodes[j]);
}
element.appendChild(img);
应当既除去。然后,您可以缩小并保存代码,然后自己在页面中提供它。下面是清理代码如下所示:http://www.jsfiddle.net/XrYLX/
第二种方法:
使用CSS,我们首先删除的JavaScript其删除按钮元素的所有子节点的一部分,所以文里面的按钮不删除:
for (var j = element.childNodes.length - 1; j >= 0; j--) {
element.removeChild(element.childNodes[j]);
}
我们再申请一些CSS隐藏图像:
.mixi-check-button img {
display: none;
}
参见:http://www.jsfiddle.net/T4Rrh/1/。
@Yi Jiang - 感谢您编辑这个问题,因为我无法添加按钮,因为我是新的stackoverflow。我试过这个,并且“唯一的文本url”出现了,但它没有与SNS连接,导致“无数据”错误。上面的代码中是否有需要发送到此SNS的内容? – tokyowp 2011-01-10 09:39:02