SAO Utils 插件 – 网页浏览器引擎
当前版本 | v1.1.3 | 更新日期 | 2016.03.30 | 下载插件 |
---|---|---|---|---|
NERvGear | SAO Utils Beta 1 Update 1 以上 | |||
系统要求 | 32/64位 Windows(XP SP2 以上, Vista, 7, 8, 8.1, 10) |
[ 网页浏览器引擎 ]插件为 SAO Utils 提供基本网页浏览功能以及 HTML/JavaScript 开发接口支持. 除了与现代浏览器一样, 提供网页浏览, 视频, 图片观看功能外, 还将部分 NERvSDK 标准接口转换到 HTTP 标准接口, 为网页开发者提供自制[ 桌面网页挂件 ]的可能性.
使用说明
安装并启用插件后, [ 网页浏览器引擎 ]将接管 SAO Utils 大部分的打开网页操作, 包括主菜单中所有项目行为是’URL’的操作, [ Bangumi ]的播放按钮, [ Mail Box ]的”打开 HTML”等. 当打开接管的网页时, 会弹出一个 SAO 外观的浏览器标签窗口.
在主菜单中任意项目中, 设定为’URL’行为后, 就可以使用 SAO Utils 内置的浏览器打开任意链接了.
使用 ‘file:///’ 协议作为 URL 的话, 还能打开本地硬盘上的 HTML 或 HTM 文件.
浏览器窗口操作暂时十分简单: 左上角的图标是关闭按钮; 拖动右上角, 左下角和右下角可以更改浏览器大小; 右下方的放大镜图标可以跳转到任意链接.
除了 2D 模式下的基本操作外, 3D 模式还允许独立缩放单个浏览器窗口. 在浏览器窗口上, 按住鼠标右键(对应平板等触摸设备的长按), 然后上(放大)下(缩小)拖动鼠标即可完成缩放操作.
高级选项
本插件基于 CEF 库开发, 简单来说就是跟大名鼎鼎的 Chrome, 什么易云音乐 , 什么数字, 什么豹等浏览器一样是基于 Chromium 进行开发的, 因此同样支持 Chrome 的命令行启动选项.
通过 “呼出启动器-设置-Option-插件-网页浏览器引擎” 或 “右键任务栏图标-首选项-插件-网页浏览器引擎-配置” 操作即可弹出命令设置对话框(需要重新启动 SAO Utils 设置才会生效).
*渲染帧数默认限制为 30 FPS, 如果你的 SAO Utils 正在使用’兼容’ 3D/2D 模式, 或机器性能足够好的话, 可以在命令行开关中添加选项解除限制:
--max-frame-rate=0
更多 Chromium 命令行开关请参考 List of Chromium Command Line Switches
浏览器缓存
内置浏览器的缓存默认在
SAO Utils/Configs/Web Browser Engine/Cache
目录下, 删除该目录即可清除所有浏览器的缓存和记录. 特别地, 推荐保留 Cache 目录下的 Local Storage 文件夹以保留一些网页挂件的用户配置信息.
开发接口/API
目前插件提供对传统 NERvSDK 中数据源接口进行转换, 以 HTTP GET 请求特定 URL 并且返回 JSON 数据.
返回的 JSON 数据中始终会包含一个名为 “result” 的执行结果, 该值与 COM 的 HRESULT 等价:
当 result >= 0 时成功;
当 result < 0 时失败.
一般来说正常运行会返回 0 (S_OK), 返回值对应的意义可以参考这里 A lot of HRESULT codes….
数据接口
URL http://nvg-data/
目前有已文档记载的 数据源, 数据类型, 可以在 NERvLibrary 查到其对应的 ID 和相关说明.
获取数据的值
GET /{数据源ID}/{数据ID}/{值ID}/query[?param={取值参数}[&unit={取值单位}]]
例子 – 获取空余物理内存大小并以 MB 为单位返回:
http://nvg-data/00000001-4F00-6144-7461-536f75726365/766A81E5-FC74-4C10-9020-27280857B1CB/0/query?unit=MB
对应 ID 转换为 NERvSDK 中定义的变量:
http://nvg-data/ID_ODataSource/DATA::ID_RAM/DATA::RAM::U64_PHYSICAL/query?unit=MB
成功的 Response:
{
"result": 0, // S_OK
"data": {
"value": 10281, // 空余 10281 MB
"maximum": 24573, // 最多 24573 MB
"minimum": 0, // 最少 0 MB
"unit": "MB", // 单位 "MB"
"type": 2, // 数据类型 DATA::UNSIGNED
"interval": 1000 // 建议更新间隔: 1000 MS
}
}
失败的 Response:
{
"result": -2147467259, // E_FAIL
"data": null
}
执行数据对应的动作
GET /{数据源ID}/{数据ID}/{值ID}/invoke[?param={执行参数}]
例子 – 执行支持 CAD 播放器的’下一曲’操作:
http://nvg-data/A60D2B8A-DCD9-4753-9E3F-C9F2B686F34B/26DDF5CF-528B-46b4-B184-19ED771D495D/0/invoke?param=next
对应 ID 转换为 NERvSDK 中定义的变量:
http://nvg-data/RangerCD::ID_OMusicPlayerDataSource/RangerCD::MusicPlayer::ID_CAD/0/invoke?param=next
本地存取
window.localStorage
如果有需要保存/读取一些数据, 例如挂件的配置信息, 暂时可以使用 HTML5 标准提供的 localStorage 对象存取”Key-Value”数据. 由于本地文件使用”file:///”协议, 导致所有本地挂件共用同一域的本地存储对象, 所以在考虑键名的事情请尽量使用能够唯一标记的键, 或者直接使用 UUID.
例子 – 存取一个 JSON 对象:
// 存储 JSON 对象
var user = {'name': 'YUI', 'id': 'MHCP-001'};
localStorage.setItem('GPBeta.YUI', JSON.stringify(user));
// 读取 JSON 对象
console.log('Hi! ' + JSON.parse(localStorage.getItem('GPBeta.YUI')).name);
已知问题
变更历史
-
2016.03.30 – 1.1.3
- 提升浏览器引擎性能和响应速度.
- 废除 –max-frame-rate 命令行参数.
-
2016.01.27 – 1.1.2
- 修正某些情况下右键菜单无法选择项目.
-
2015.12.18 – 1.1.1
- 修正在没有 SP1 补丁的 64位 Windows 7 或 Vista 系统下, 启用本插件时程序崩溃.
- 修正由于显卡驱动问题造成的网页空白.
- 修正无法正常浏览操作 PDF 文件.
- 取消浏览器窗口的透明网页背景.
- 开发者工具窗口跟随主窗口自动关闭.
-
2015.12.11 – 1.1.0
- 初始版本.
插件下载
版本 | 核心 | Flash | 下载 |
---|---|---|---|
1.1.3 | Chromium 45.0.2454.101 | Flapper 19.0.0.226 | 点击下载 |
历史版本 | |||
1.1.2 | Chromium 45.0.2454.101 | Flapper 19.0.0.226 | 32位/64位 |
1.1.1 | Chromium 45.0.2454.101 | Flapper 19.0.0.226 | 32位/64位 |
1.1.0 | Chromium 45.0.2454.101 | Flapper 19.0.0.226 | 32位/64位 |
SAO的3D用来看网页的时候以及选项的时候3D效果都很累眼睛怎么破……感觉有重影和彩色色散QWQ难道是我的眼睛问题
网页挂件怎么打开?
启动的时候会显示输入用户名 我输入什么? 随便输入的话一直显示连接中…有办法解决吗
11
浏览器挡住菜单怎么办啊?找不到哪里设置
命令开关里填什么?谁能告诉我?
哪里可以下载呀
登不进去啊
我在插件列表找不到网页浏览器插件 明明安装了 而且我的网页挂件经常显示不了我原本已经设置好的东西但是过段时间又会变好了
GP呦,我有个建议,鼠标手势可不可以设置成全屏游戏自动关闭。因为我打屁股的时候老是因为手势切出屏,然后被击杀……
设置灵敏度的话也不好使,毕竟游戏时鼠标幅度也很大。
老是开启关闭很麻烦的……
鼠标手势旁边有一个在什么进程下禁用,你把屁股的进程禁用就好了
当前页面无法显示
要怎么屏蔽广告
如果再3D模式下打开视频网页,在3D模式下关闭该网页,还是能听见视频声音,点回2D则声音消失,希望能在3D模式下关闭网页就关闭网页声音。。。还有希望能在浏览器加个书签栏,可以合并标签页到一个浏览器上,便利性大幅度上升。。。会一如既往的支持!!!!
点开B站的番剧后…不能全屏看哇
有罪恶王冠的没?
一直都是安装失败,32+64位的都试过,系统win10重开机也一样失败。请问这个是什么原因?