fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-03-21
  • 发帖数18482
  • 经验4836枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
阅读:4998回复:7

Mozilla 未来新主题开发计划

楼主#
更多 发布于:2017-02-27 15:53
之前我们已经介绍过了 Mozilla Firefox 主题的现状和未来,提到了未来 Firefox 对新主题会有专门的开发计划,现在 Mozilla 在官方博客也公布了未来新主题的变化和开发计划。

首先,官方提到了为什么要有新的主题系统。这个我们也多次提到了,Firefox 57 到来的时候所有完整主题都将无法使用,只有轻量主题才可以使用。现在轻量主题的使用率和受欢迎程度已经远远超过了完整主题,AMO 已经有超过 40 万款轻量主题。但轻量主题只能简单修改外观,包括提供工具栏的背景图片,少量修改颜色。而完整主题非常强大,可以修改 Firefox 外观的几乎所有方面,但受限于它的复杂度和开发上的不友好,易失效等问题,目前 AMO 上 500 款完整主题只有约 60 款能兼容当前版本的 Firefox。而且只有 0.089% 的用户使用完整主题,相比之下还有 4% 的用户使用轻量主题。

Firefox 的扩展也不具有相应的 JavaScript API 来修改 Firefox 的外观,传统扩展或完整主题要修改就必须通过 UI 内部 DOM 和 CSS 来修改,但会带来复杂度和兼容性问题,因为 Firefox 更新版本时候往往会修改它的内部,这容易导致它们失效。哪怕是将来的的 WebExtensions 也无法访问 UI 的内部结构。所以才需要一套新的解决办法。

接下来就是新的主题系统会是怎么样。新的主题系统会采用轻量主题制作简单的特点,还会融入完整主题里面最常使用的一些功能。主题的核心其实是一个 manifest.json 的文件,在里面可以根据对应的属性填写属性值,来定义颜色,背景图片、图标等。比如下面这样:

{
  'manifest_version': 2,
  'name': 'Crazy Theme',
  'description': 'I’m going slightly mad...',
  'version': '1.3',
  'applications': {
    'gecko': {
      'id': 'it-finally-happened@example.com',
      'strict_min_version': '57.0',
      'strict_max_version': '65.*'
    }
  },
  'icons': {
    '48': 'icon.png',
    '96': 'icon@2x.png'
  },
  'theme': {
    'colors': {
      'accentcolor': '#d92215',
      'textcolor': 'rgb(224, 41, 29)',
      'background_tab': [
        255,
        255,
        255,
        0.6
      ],
      'background_tab_inactive': [
        255,
        255,
        255,
        0.2
      ]
    },
    'images': {
      'theme_frame': 'sample.jpeg'
    },
    'properties': {
      'square_tabs': true
    }
  }
}
 

在新主题系统当中,首先它会采用 Chrome 浏览器的属性,使得能够兼容现有的 Chrome 浏览器的主题。然后 Mozilla 会在其主题 API 里面扩展更多的属性,使得它能做的更多,这个 WebExtensions 的策略是和相似的。这样可以确保未来 Firefox任何一次更新都不会导致新主题失效。而 Mozilla 也考虑到如果只使用普通 manifest.json 文件是无法达到直接用 CSS 修改同样的效果,为了让主题更强大,他们打算在 manifest 里面增加一个实验性的语法段落,允许开发者直接对 Firefox 的 UI 使用 CSS 来自定义,不过这只能在 Nightly 或 FDE 版本 Firefox 中生效,Beta 和正式版无法生效。类似于下面这样:


{
  /* … */
  'theme': {
    /* … */
    'experimental': {
      'icons': {
        'overflow_arrow': [
          {
            'selector': '#overflow-button',
            'properties': {
              'list-style-image': 'custom-overflow.svg',
              '-moz-image-region': 'rect(0, 18px, 18px, 0)'
            }
          },
          {
            'selector': '#overflow-button > .toolbarbutton-icon',
            'properties': {
              'margin': '3px 2px'
            }
          }
        ]
      }
    }
  }
}


最后,Mozilla 还会为主题添加一个 WebExtensions 的 API,总的来说和 manifest.json 功能一样,就是多了一个 JavaScript API,这样附加组件可以实现动态修改主题的功能。例如根据一天的不同时段,或者是根据外部天气来修改主题配色。

新主题具体信息参见工程计划。Mozilla 的目标是在 Firefox 57 到来之前正式发布新主题,并在未来数月尽快进入 Nightly 测试阶段。新主题的 FAQ 参见这里

https://blog.mozilla.org/addons/2017/02/24/improving-themes-in-firefox/
Firefox More than meets your experience
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-03-21
  • 发帖数18482
  • 经验4836枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2017-02-28 16:57
dkgo:默认主题足够友好就行。兼容chrome其实没必要。回到原帖
这是mozilla 特点 拷贝chrome
Firefox More than meets your experience
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-03-21
  • 发帖数18482
  • 经验4836枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
2楼#
发布于:2018-02-23 14:22
f_140:没有完整主题用的我快要死了....回到原帖
不会有完整主题了。
Firefox More than meets your experience
游客

返回顶部