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位
    • Laurence-042
    • 2020/06/28 5:28下午

    希望作者大佬能回来更新下内核,Chromium 45.0.2454.101在目前似乎已经显得有些古老了。
    正则的命名捕获分组功能在这个版本中不受支持。

    • SheeWikkii
    • 2020/04/22 9:47上午

    内置浏览器怎么关闭??

    • 006
    • 2020/02/27 9:13下午

    能不能把主菜单全部汉化了》》全靠猜啊

      • ZeroG
      • 2020/05/22 11:17上午

      你怕是傻子,那个可以直接设置的啊,你直接把那些改掉不就好了。

    • didot
    • 2020/02/17 12:42上午

    内置浏览器版本太旧(v45),而且无法通过命令行修改UA。导致无法正常使用google messages,页面提示chrome版本过旧请升级。请大佬解决一下这个问题,我想在桌面放一个,方便查看手机上的短信验证码。

    • youmu
    • 2020/02/05 9:51上午

    网页播放视频时占用很多cpu(其他浏览器播放时正常)

    • 雨夜
    • 2019/09/15 1:22下午

    不知道为什么只有原始音效,没有SAO/ALO/AccelWorld的音效,难受

    • KaLaMiTi
    • 2019/08/02 4:49下午

    想问一下 界面原装安装的 打开界面SAO模式网页播放音乐或者视频什么的都显示网络连接错误?
    用普通网页打开就没有这种问题???

    • beta 版本内置浏览器暂时不支持音频/视频解码

    • Kirleo.Arlen
    • 2019/07/12 10:11下午

    SAO 外观浏览器标签窗口没有了如何恢复?

    • 2019/06/20 10:10上午

    瀏覽頁面小太了如何放大?

      • 2019/06/20 10:11上午

      太小了*

      • IkkyuTensai
      • 2019/06/21 5:05下午

      右下角

    • Xing_Zai
    • 2019/04/17 9:13下午

    为什么桌面网页挂件下载链接进不去啊 一点就直接到主页了

    • Oriya
    • 2019/03/31 11:07上午

    可否调整浏览器的透明度?浏览网页、看视频,的时候。有贴近白色的内容的话,会很清楚的透过它看到后面一层

    • 纱老师
    • 2019/03/16 8:22下午

    浏览器引擎插件64位的百度云失效了,求补

    • 安装包自带都是最新版本的插件,不需要另外安装。如果错手删了可以用安装包覆盖安装。

    • 水水的水水
    • 2019/01/29 11:35上午

    没有计数器 Network interface该怎么办?

    • 雪漫
    • 2019/01/24 2:21下午

    请问笔记本电脑重装windows系统后, Sao utils突然很卡怎么办?
    我的系统是win8.1专业版,显卡是980m
    是有前置的运行环境需要安装吗?
    非常感谢

      • GPGPG
      • 2019/01/25 12:55上午

      记得装上显卡驱动

    • 缪宇
    • 2019/01/01 4:52下午

    想知道怎么才能使浏览器不透明,每次用这个看视频因为有点透明所以会壁纸会出戏

  1. 暂无 Trackback



return top