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

Firefox 已支持新的用户脚本 WE API

楼主#
更多 发布于:2019-03-29 10:57
Mozilla 正在开发一个新的用户脚本的 WebExtensions API,目前 Firefox 68.0 Nightly 默认开启,Firefox 66 和 67 默认关闭(可手动开启)。


现有的 Greasemonkey、Tampermonkey 和 Violentmonkey 等扩展已经支持用户脚本了,但 Mozilla 还是开发并支持新的用户脚本的扩展 API,有了官方支持,用户脚本的安全性、性能等方面更有显著提升:在性能方面,采用更好方式将不同用户脚本区隔开来;解决了网页加载和脚本插入期间的一些可靠性问题;每个脚本独享一个沙盒提升安全性。


它与现有油猴类扩展最大不同就是新的 API 让每个用户脚本都运行在独立的沙盒里,隔离开来,而其他扩展脚本都在同一个进程里面运行。


新的 API 也支持现有油猴类扩展的一些函数,例如 GM_ functions。


目前 68.0 Nightly 已默认开启支持, 66 和67 默认关闭,但可以在 about:config 里面将 extensions.webextensions.userScripts.enabled 改成 true 开启。不过现有的油猴类扩展还不支持此 API,需要更新才可以使用这个 API。




https://www.ghacks.net/2019/03/27/firefox-support-user-scripts-api/
Firefox More than meets your experience
viewtheard
千年狐狸
千年狐狸
  • UID2383
  • 注册日期2005-01-20
  • 最后登录2024-03-29
  • 发帖数1968
  • 经验478枚
  • 威望1点
  • 贡献值356点
  • 好评度20点
  • 社区居民
  • 忠实会员
1楼#
发布于:2019-03-31 18:02
不太懂,油猴等都需要调用这个新的api才能工作吗,还是说用户能脱离油猴直接进行开发? 看到一个特性是沙盒
My Technical Blog: http://art-technical.blogspot.com/
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
2楼#
发布于:2019-03-31 18:27
viewtheard:不太懂,油猴等都需要调用这个新的api才能工作吗,还是说用户能脱离油猴直接进行开发? 看到一个特性是沙盒回到原帖
现在的用户脚本管理器用内容脚本(页面级脚本)和一些技巧来注册和隔离各个用户脚本,这个API自带沙盒和一些功能了。
用户脚本管理器可以适配和使用这个API,其他扩展开发时也可使用这个API来注入用户脚本(例如将用户脚本转换为扩展,并提供一些高级功能)。
viewtheard
千年狐狸
千年狐狸
  • UID2383
  • 注册日期2005-01-20
  • 最后登录2024-03-29
  • 发帖数1968
  • 经验478枚
  • 威望1点
  • 贡献值356点
  • 好评度20点
  • 社区居民
  • 忠实会员
3楼#
发布于:2019-04-02 13:08
yfdyh000:现在的用户脚本管理器用内容脚本(页面级脚本)和一些技巧来注册和隔离各个用户脚本,这个API自带沙盒和一些功能了。
用户脚本管理器可以适配和使用这个API,其他扩展开发时也可使用这个API来注入用户脚本(例如将用户脚本转换为扩展,并提供一些高...
回到原帖
大致明白了,开发时省力了
My Technical Blog: http://art-technical.blogspot.com/
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2024-03-26
  • 发帖数621
  • 经验569枚
  • 威望0点
  • 贡献值110点
  • 好评度99点
4楼#
发布于:2019-04-03 23:29
看了下设计稿 https://wiki.mozilla.org/WebExtensions/UserScripts ,基本上是firefox内建了monkey类扩展的核心功能,干脆内置一个用户脚本管理器算了。

如果我没理解错的话,用了这个新api后,userjs中的run-at: document-start终于能恢复到当年xul时代的功能了。现在的webext只能用那些异步手段,根本赶不上document-start的时机。新api是让firefox来加载userjs,终于可以赶上了
游客

返回顶部