昨晚 Opera 发布了一个实验性桌面版本,带来新的扩展 API:
- 用于对网页进行截图的 Screenshot API
- 使扩展易于加载本地资源的 Resource Loader API
- 更新 URL Filter API
在这些实验性功能最终定型前,请尽量向 Opera 反馈相关问题和建议。
这些特性不会出现在 Opera 12 正式版中,而是在更晚的版本。
下载链接
- Windows i386 | Windows x64
- Mac i386/x64
- Linux tar.xz i386 | Linux tar.xz x64 | Linux deb i386 | Linux deb x64
- FreeBSD i386 | FreeBSD x64
Screenshot API
你可以在扩展中的注入式或背景脚本中调用 getScreenshot()
以使用 screenshot API 对网页进行截图。截图后可以在 <canvas>
中操作它或者储存在某处留待他用。
深入阅读:
Resource Loader API
扩展安全模型使扩展连包含在同一扩展包内的本地文件也不能加载,为了克服这个问题,就有了 resource loader API。resource loader API 的 getfile()
方法可用于获取文件内容,然后使用 W3C File API 读取这些内容。这招相当有用,你可以在扩展中加入不同的内容、图像甚至脚本和样式。
深入阅读:
URL Filter API
URL Filter API 允许你在 Opera 原生内容拦截功能的被拦截 URL 列表中新增或移除 URL。通过此 API 进行的这些更改是临时性的,只有浏览器会话处于活动并启用了相关扩展时有效。
此 API 自 Opera 11.10 起已经可以使用,现在此实验性版本对它加入了新特性:
- 支持白名单 — 作为被拦截(黑名单)URL 的例外列表。基本语法:
opera.extension.urlfilter.allow.add(pattern, options)
- 仅限特定域名:
block.add(pattern, {includeDomains: ["google.com", "google.co.uk", "google.com.au"])
- 排除特定域名:
block.add(pattern, {excludeDomains: ["google.com", "google.co.uk", "google.com.au"])
- 允许在 URL 被拦截或允许(出现在白名单中)时触发事件。目前 Opera 不打算在没有任何匹配时也能触发事件,因为有拖累性能的可能。
- 拦截第三方 URL(例如,仅当 facebook.com 被其他网站访问时拦截它):
block.add(pattern, {thirdParty: true})
- 根据资源类型进行拦截(脚本、图像、样式表等等.):
block.add(pattern, {resources: urlfilter.RESOURCE_SCRIPT | urlfilter.RESOURCE_STYLESHEET)
- 新 filter 语法:
- 分隔通配符:
^
。例如,example.com^foo
会匹配example.com/foo
和example.com?foo
- 域名匹配语法:
||
。例如,||example.com
会匹配所有域名为example.com
的 URL。
- 分隔通配符:
- (以上两条)新语法也可以用于 urlfilter.ini 文件。
深入阅读:
:evil: 采采霸气
N大感兴趣不?
三个都很有用 :mrgreen:
我擦。觉醒了。。
这些特性不会出现在 Opera 12 正式版中,而是在更晚的版本。 :!:
看到希望了哇
跟进,体验
good job :cool:
等更晚的版本
这个版本号怎么比上个版本还小
忒nm牛了!支持!严重支持opera的觉醒!opera13时代,世界是opera的!为了未来的api,我也要坚守opera,因为我知道,未来是美好的!!!!! :smile:
如果userjs能用扩展API就好了…
透過Resource Loader API的話,
擴展應該可以寫出以前Unite中UJS Manager的效果了
至於UserJS本身也有一些可以用的語法,
只要不是太複雜的功能都沒什麼問題吧 :?:
截图没啥用啊,直接保存为mht
从不用 API 的路过。话说 API 用处大吗?
这个不错!
感觉越来越向ADB的功能靠近了 好消息!
canvas.toDataURL() :razz:
“Only the visible portion of the page is included in the screenshot”
被大神吐嘈了。。。可以截一下,滚一页,再截,然后拼接。。。