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位 |
网页不是3D的怎么改
只有在下拉菜单中打开网页时才会自动调用该浏览器,建议自行在主菜单栏添加一个主页图标并设置网页
安装了什么都没有弹出来 是怎么回事
为什么我就直接是访问任何网页都是无法显示?
被其他软件拦截了
安全软件只有一个ESET安全套装,而且没有出现任何报错和警告,在日志里面也没有看到任何威胁
没有书签好蛋疼····
额,教教我这个咋用
请问有人遇到浏览器打开网站页面(b站)后无法找到关闭浏览器的问题吗?我试了很多次移动鼠标,浏览器内可以拖动,点开视频,但是浏览器页面本身无法移除或关闭,请问如何解决?谢谢!
而且好像浏览器只能在桌面网页挂件和网页浏览器引擎同时启用的时候才能打开,请问这是怎么回事啊?
浏览器标签
为什么打开是花屏
那个开关命令是什么?
那个 我的网页挂件锁了咋解开
好玩,很棒
为什么打开不一样
我的是打开自己的浏览器
求解
没有后退和刷新,,,,,,,
暂时, 右键-刷新,后退
好吧
安装失败咋办?
网页半透明可咋整==
改一下 CSS 透明度即可, 例如 opacity: 0.5;
一个比较冷门的问题,我的机子用mactype渲染字体的,chromium禁用掉directdraw可以强制用mactype渲染字体,但这个插件用–disable-directdraw-for-ui没用,而且也打不开chrome://flags,不知道有什么方法能解决字体渲染
并没有在 chromium 相关文档找到这个这个开关:
http://peter.sh/experiments/chromium-command-line-switches/
是不是拼写错误? –disable-directwrite-for-ui
这里打错了,我设置的时候是写的directwrite,然而没效果
试试 –disable-direct-write 开关, 必须重启 SAO Utils 生效
还是不行
我看了一下 chromium 的源代码, 并且测试验证了 –disable-direct-write 开关是有效的, chromium 开关你填在哪里了
可能和我设置的计划任务有关系,关掉计划任务重启之后就工作了