如何使用 JavaScript 禁用 webkit-text-size- adjustment

发布于 2024-12-08 01:33:31 字数 874 浏览 0 评论 0原文

我正在尝试构建一个 Chrome 扩展程序,它将自动禁用 LinkedIn 上的 webkit-text-size-adjust CSS 规则。这样我就可以在缩放页面时缩放文本。

使用 Elements Styles 窗口中的 Chrome 开发人员工具,我可以将 webkit-text-size-adjust 从“none”更改为“0”,这样可以在缩放时更改文本大小。

但是,我不知道如何使用 JavaScript 禁用此规则。我编写了一个 Chrome 扩展程序,当我访问 linkedin.com/* 时执行一个函数,但我需要编写一个函数来删除/修改 webkit-text-size-adjust 规则。

我尝试了一些方法,但它们不起作用。

document.getElementsByTagName('html')[0].style.webkitTextSizeAdjust="0"

我还尝试递归地遍历 document.body 中的每个 childNode 并使用removeProperty 将其关闭,但这对我来说也不起作用。

function remtextadj(node){
  node.style.removeProperty('-webkit-text-size-adjust');
  for(var i=0;i<node.childNodes.length;i++){
     var nod=node.childNodes[i];
     remtextadj(nod);
     }
  }

  remtextadj(document.body);

那么我怎样才能用javascript删除这个规则呢?我不是 CSS 或 JavaScript 方面的专家,所以我想我错过了一些简单的东西......

I'm trying to build a Chrome extension that will automatically disable the webkit-text-size-adjust CSS rule on LinkedIn. This is so I can get the text to zoom when I zoom on the page.

Using Chrome's developer tools in the Elements Styles window, I can change the webkit-text-size-adjust from "none" to "0", and this lets the text change size when I zoom.

However, I can't figure out how to disable this rule with JavaScript. I have written a Chrome extension that executes a function when I visit linkedin.com/* but I need to write a function to remove/modify the webkit-text-size-adjust rule.

I've tried a few things, but they don't work.

document.getElementsByTagName('html')[0].style.webkitTextSizeAdjust="0"

I've also tried recursively going through each childNode from document.body and using removeProperty to turn it off, but this doesn't work for me either.

function remtextadj(node){
  node.style.removeProperty('-webkit-text-size-adjust');
  for(var i=0;i<node.childNodes.length;i++){
     var nod=node.childNodes[i];
     remtextadj(nod);
     }
  }

  remtextadj(document.body);

So how could I go about removing this rule with javascript? I'm no expert on CSS or JavaScript, so I imagine I'm missing something simple...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦途 2024-12-15 01:33:31

注入以下 CSS,这将强制浏览器使用该样式:

*{-webkit-text-size-adjust:0 !important}

!important 标志使声明采用最高的可用优先级。通过 manifest 文件将自定义样式添加到页面:

 ...
 "content_scripts": [{
    "matches": ["http://sitehere/*"],
    "css": ["customstyle.css"]
 }],
 ...

Inject the following CSS, which should force the browser to use the style:

*{-webkit-text-size-adjust:0 !important}

The !important flag causes the declaration to take the highest available precedence. Add the custom styles to a page via the manifest file:

 ...
 "content_scripts": [{
    "matches": ["http://sitehere/*"],
    "css": ["customstyle.css"]
 }],
 ...
百善笑为先 2024-12-15 01:33:31
var myStyle = document.createElement('style');
myStyle.innerHTML = 'body * {-webkit-text-size-adjust:none !important;}';
document.head.appendChild(myStyle);
var myStyle = document.createElement('style');
myStyle.innerHTML = 'body * {-webkit-text-size-adjust:none !important;}';
document.head.appendChild(myStyle);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文