繁体   English   中英

JS Bookmarklets:增加/减少网站的字体大小

[英]JS Bookmarklets: Increase/decrease site's font size

我使用这里的代码来扩大网站:


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) )。 我很好奇为什么,以及任何可行的选择。

ٍٍ解释“停止工作”:使用后页面空白,有时显示“14px”: 在此处输入图像描述

2ality的这篇文章

以未定义结束:如果您不返回(或以,结束)未定义。 结果替换了当前的 web 页面:[注意,Chrome 和 Safari 等 Webkit 浏览器从不替换页面。 只有非 Webkit 浏览器,例如 Firefox 才可以。]

但 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM