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

  1. 提升浏览器引擎性能和响应速度.
  2. 废除 –max-frame-rate 命令行参数.
    2016.01.27 – 1.1.2

  1. 修正某些情况下右键菜单无法选择项目.
    2015.12.18 – 1.1.1

  1. 修正在没有 SP1 补丁的 64位 Windows 7 或 Vista 系统下, 启用本插件时程序崩溃.
  2. 修正由于显卡驱动问题造成的网页空白.
  3. 修正无法正常浏览操作 PDF 文件.
  4. 取消浏览器窗口的透明网页背景.
  5. 开发者工具窗口跟随主窗口自动关闭.
    2015.12.11 – 1.1.0

  1. 初始版本.

插件下载

版本 核心 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位
  1. 大大我想问能将这个插件变为默认浏览器吗

  2. 浏览器看视频显示未安装Flash

    • 1
    • 2016/02/16 7:06下午

    bilibili 无法加载插件?

    • To Be Continued
    • 2016/01/31 2:16下午

    能下载文件吗

  3. 请问怎样关掉3D模式下的谷歌浏览器呢?

    • 纳凉丶风乐
    • 2016/01/24 1:05上午

    好像把自己的收藏夹能很方便的导入就好了

  4. 用这个插件打开的网页无法全屏啊(包括视频)

  5. 为什么我打开是uc 而不是sao自带的浏览器呢 求教

    • 下面作者大大有提到。
      原话是:“看看是不是勾选了”禁止过滤动作”, 而且 URL 记得加上 http://”

    • 蒙特拉帝王
    • 2016/01/22 6:46下午

    网页打开之后怎么关闭?

      • 月银络牙
      • 2016/01/24 2:53上午

      左上角

    • luminous
    • 2016/01/20 2:32上午

    浏览器怎么设置成3D的

    • 游客
    • 2016/01/19 12:15上午

    插件的制作过程能否对外公开或者做一个教程,然后对优秀的认证的安全插件在本主页推荐下载。

    • 网页挂件就是纯 HTML + JS 啊, 会做网页就能做

      • 还是那个游客
      • 2016/01/21 12:34上午

      “然后对优秀的安全插件在本主页推荐下载。” 现在似乎没有发现一个比较好的分享平台!!

      • 还是这位游客!
      • 2016/01/21 12:46上午

      win7下 点击右下角“显示桌面”所有组建都隐藏下来了,能不能不要收起来 (玩LOL的时候想切出来开个其他程序,但是我桌面已经隐藏了其他图标了,如果我把这界面弄出来,LOL也会跳出来并且置顶。。。)

      • 还是那个游客!!!!
      • 2016/01/21 12:57上午

      两个同类的GGO桌面挂件 “合并功能”

    • 111
    • 2016/01/18 12:58上午

    安装失败=-=

    • LI
    • 2016/01/13 9:53下午

    大大,WIN10,49MB的包下载完了后安装插件失败,主程序UPdate1。。。

    • 2015/12/28 1:11上午

    能不能设置插件网页2D效果 菜单3D效果

  1. 2015/12/31



return top