document.styleSheets 删除 Webkit 特定的 CSS 规则

document.styleSheets removes Webkit specific CSS rules

看看这个HTML, CSS and JavaScript:

<html>
    <head>
        <style type="text/css">
            body {
                -webkit-text-size-adjust: none; 
                font-size: 14px;
            }
            html{
                padding: 0;
            }
        </style>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
      $.each(document.styleSheets, function () {
            var cssRules = this.cssRules;
            if (cssRules && cssRules.length && this.href === null) {
            var css = '';
            $.each(cssRules, function () {
              css += this.cssText;
            });
                document.write(css);
            }
        });
    })
    </script>
    </head>
    <body>

    </body>
</html>

基本上就是通过document.styleSheets.
输出当前用JS读取的文档中的样式表 现在,问题是:document.styleSheets 不包含 Webkit 特定样式。相反,这些样式已被删除。
在我的例子中 body-webkit-text-size-adjust: none; 但是这个规则没有输出,你可以在右边看到。
这是为什么?
更重要的是:如何通过 document.styleSheets 获得该规则?

"text-size-adjust" isn't supported by any non-mobile browsers,所以如果您在桌面上执行此操作,它不会出现,因为浏览器实际上不存在该规则。

如果您使用受支持的规则(如下所示)尝试您的代码,您将在 document.write()

中看到带有供应商前缀的规则
body {
  -webkit-transition: all 4s ease;
  font-size: 14px;
  font-weight: bold;
}