我使用的是来自 此处 来放大网站。
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)
). 我很好奇为什么,以及任何可行的替代方案。
用undefined结束。如果你不返回(或用!)undefined,结果就会替换当前的网页,[注意:Webkit浏览器如Chrome和Safari不会替换网页,只有非Webkit浏览器如Firefox才会。注意:Webkit 浏览器(如 Chrome 和 Safari)从不替换网页,只有非 Webkit 浏览器(如 Firefox)才会这样做。
但Chrome浏览器已经改变了这种行为。
现在,Chrome 浏览器会运行一段代码,比如
if (typeof bookmark_reslt === "string") {
document.body.innerHTML = bookmark_reslt
}
一个最小的可复制的书签示例是 javascript: "14px"
最简单的解决方法是添加 undefined
在脚本的最后。
火狐浏览器会执行一个类似于 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>