JS Bookmarklets:Increase/decrease 站点的字体大小
JS Bookmarklets: Increase/decrease site's font size
我正在使用 here 中的代码来扩大网站:
var p=document.getElementsByTagName('*');
for(i=0;i<p.length;i++) {
if(p[i].style.fontSize){
var s=parseInt(p[i].style.fontSize.replace("px",""));
}
else {
var s=12;
}
s+=2;
p[i].style.fontSize=s+"px"
但这最近在我的 Chrome (Version 81.0.4044.138 (Official Build) (64-bit)
) 上停止工作。我很好奇为什么,以及任何可行的替代方案。
ٍٍ说明"stopped working":使用后页面空白,有时显示“14px”:
Finish with undefined: If you don’t return (or finish with!) undefined, the result replaces the current web page. [Note: Webkit browsers such as Chrome and Safari never replace a page, only non-Webkit browsers such as Firefox do.]
但是 Chrome 改变了这种行为。
Chrome 现在运行类似
的代码
if (typeof bookmark_reslt === "string") {
document.body.innerHTML = bookmark_reslt
}
小书签的最小可复制示例是 javascript: "14px"
最简单的解决方案是在脚本末尾添加 undefined
。
Firefox 执行类似 document.body.innerHTML = String(bookmark_reslt)
的代码
// examples to see how `toString` affects Bookmarklets in Firefox
javascript: a = {}; a; // <body>[object Object]</body>
javascript: a = {}; a.toString = ()=> 2; a; // <body>2</body>
我正在使用 here 中的代码来扩大网站:
var p=document.getElementsByTagName('*');
for(i=0;i<p.length;i++) {
if(p[i].style.fontSize){
var s=parseInt(p[i].style.fontSize.replace("px",""));
}
else {
var s=12;
}
s+=2;
p[i].style.fontSize=s+"px"
但这最近在我的 Chrome (Version 81.0.4044.138 (Official Build) (64-bit)
) 上停止工作。我很好奇为什么,以及任何可行的替代方案。
ٍٍ说明"stopped working":使用后页面空白,有时显示“14px”:
Finish with undefined: If you don’t return (or finish with!) undefined, the result replaces the current web page. [Note: Webkit browsers such as Chrome and Safari never replace a page, only non-Webkit browsers such as Firefox do.]
但是 Chrome 改变了这种行为。
Chrome 现在运行类似
的代码if (typeof bookmark_reslt === "string") {
document.body.innerHTML = bookmark_reslt
}
小书签的最小可复制示例是 javascript: "14px"
最简单的解决方案是在脚本末尾添加 undefined
。
Firefox 执行类似 document.body.innerHTML = String(bookmark_reslt)
// examples to see how `toString` affects Bookmarklets in Firefox
javascript: a = {}; a; // <body>[object Object]</body>
javascript: a = {}; a.toString = ()=> 2; a; // <body>2</body>