Code Monkey home page Code Monkey logo

weolar / miniblink49 Goto Github PK

View Code? Open in Web Editor NEW
6.9K 315.0 1.0K 164.55 MB

a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核,用来取代wke和libcef

License: Apache License 2.0

C++ 76.46% C 8.78% Objective-C 0.01% CMake 0.02% HTML 0.06% Objective-C++ 0.01% Python 1.18% JavaScript 8.88% Makefile 0.41% CSS 0.01% Shell 0.07% Lua 0.01% Scheme 0.01% Batchfile 0.01% Assembly 3.09% Perl 0.90% DIGITAL Command Language 0.06% XS 0.01% M4 0.03% eC 0.01%
chromium electron nodejs blink

miniblink49's Introduction

声明

由于本项目被黑产拿去修改源码后用于非法目的,导致我被人找上门了几次,

经深思熟虑后决定自2019-6-17起不在更新,

不过后续更新会以二进制及头文件方式发布,请持续关注。

二进制及头文件下载地址:https://github.com/weolar/miniblink49/releases

希望大家尊重开源,尊重作者全职几年持续更新付出的劳动。

且用且珍惜

如需获得后续支持,请使用以下联系方式:

开发者论坛:https://bbs.miniblink.com/ (注册后,需要加我QQ告诉我,我才能验证通过)

加微信群:wx_group

Telegram群:https://t.me/miniblink

Q群:738349226(可加)、94093808(已满勿加)

QQ(weolar):93527630

email:[email protected]

微信:可发邮箱咨询我微信号。暂时不放到github了

简介 Abstract

miniblink is a open source, one file, small browser widget base on chromium.

By using C interface, you can create a browser just some line code.

more information at http://miniblink.net


miniblink是一个开源的、单文件、且目前已知的最小的基于chromium的,浏览器控件。

通过其导出的纯C接口,几行代码即可创建一个浏览器控件。

您可以通过官网http://miniblink.net 来获取更多的关于miniblink的信息。


特性 Features

  • 极致小巧的体积 (small size)
  • C++,C#,Delphi等语言调用 (support C++,C#,Delphi language to call)
  • 内嵌Nodejs,支持electron (with Nodejs, can run electron)
  • 随心所欲的定制功能、模拟环境 (simulate other browser environment)
  • 支持Windows xp、npapi (support windows xp and npapi)
  • 完善的HTML5支持,对各种前端库友好 (support HTML5, and friendly to front framework)
  • 关闭跨域开关后,可以使用各种跨域功能 (support cross domain)
  • 网络资源拦截,替换任意网站任意js为本地文件 (network intercept, you can replace any resource to local file)
  • headless模式,极大节省资源,适用于爬虫 (headless mode, be suitable for Web Crawler)

文档 Document

关于miniblink的介绍见这篇文章:https://zhuanlan.zhihu.com/p/22611497?group_id=764036386641707008

API文档见:https://miniblink.net/views/doc/index.html


使用 Usage

请前往https://github.com/weolar/miniblink49/releases 下载最新编译后的SDK,里面的demo_src是个完整的用例。

或者前往 https://github.com/weolar/mb-demo 下载

最简单的创建一个窗口:

Usage

// 无边框窗体 borderless window
wkeWebView window = wkeCreateWebWindow(WKE_WINDOW_TYPE_TRANSPARENT, NULL, 0, 0, 640, 480);  
wkeLoadURLW(window, L"miniblink.net");

demo-1

编译 Build

不推荐自己编译。请前往https://github.com/weolar/miniblink49/releases 下载编译好的文件使用。

因为每天有大量更新,我无法确保每次更新都能保证编译通过。如果有编译错误,请不要来提问,耐心等待我的下次提交。


mini-electron

mini-electron项目是一个基于miniblink的独立项目,旨在创建一个更小的electron运行环境。目前已经实现了这一目标。

通过替换mini-electron,打包完后的文件仅仅6m左右。


联系方式

大家有问题可以选择:


致谢 Thanks

特别感谢网友zero,他是miniblink的代码的重要贡献者。

感谢网友core,感谢网友“大清知府”。

感谢网友boxue( https://www.zhihu.com/people/coltor/ ),他致力于对miniblink架构的研究及推广。

miniblink49's People

Contributors

evshiron avatar fy0 avatar heineiuo avatar liuxingbaoyu avatar sanwer avatar victorzhao avatar weolar avatar zero-rp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

miniblink49's Issues

cannot complied

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1104 无法打开文件“node.lib” cefclient D:\Code\miniblink49\build\cefclient\LINK 1

无法编译

使用教程?

只是一个小前端,表示看不懂。。。api和elctron一样,但是具体该怎么使用呢?用npm 装吗?萌新问题,希望不吝赐教

编译失败

2018-05-25 以后的版本,我这都编译失败。
全部错误提示都是 “error LNK2001: 无法解析的外部符号 "public: class v8::xxx”,类似的提示都在 v8 名称空间。
好像是没有链接 V8 的库。但工程设置中确实有 v8 的库。v8_5_7 工程配置中加了 BUILD_V8_SHARED 宏,这是要构建 动态库 的节奏?但其工程配置又指明构建静态库,miniblink工程配置中也没有添加 USING_V8_SHARED 宏,实在是搞不懂。

有请明白人解答下疑惑。

debug下多项编译问题

编译指南中说编译其他所有项目
但是
严重性 代码 说明 项目 文件 行
错误 LNK1104 无法打开文件“node.lib” cefclient F:\WORK\ExtraLib\miniblink49\build\cefclient\LINK 1

严重性 代码 说明 项目 文件 行
错误 C2039 “GetBydefaultVal”: 不是“gin::Dictionary”的成员 electron f:\work\extralib\miniblink49\electron\browser\api\apiwindow.cpp 1586

严重性 代码 说明 项目 文件 行
错误 C2039 “GetBydefaultVal”: 不是“gin::Dictionary”的成员 electron f:\work\extralib\miniblink49\electron\browser\api\apiwindow.cpp 1586

且只编译4.8不行 会出现
严重性 代码 说明 项目 文件 行
错误 LNK1181 无法打开输入文件“v8_5_7.lib” miniblink F:\WORK\ExtraLib\miniblink49\build\miniblink\LINK 1

但是5.7会出现
严重性 代码 说明 项目 文件 行
错误 C2039 “GetBydefaultVal”: 不是“gin::Dictionary”的成员 electron f:\work\extralib\miniblink49\electron\browser\api\apiwindow.cpp 1610

而且没有项目名字叫node

建议官方出一款能运行miniblink的嵌入式硬件

  1. 整个硬件围绕以最快速度加载并运行miniblink为目标。
  2. 搭配一款触摸屏,blink以适配触摸模式启动。

blink是最好的UIKit,没有之一。如此,很有可能开创性的发明出 miniblink wear等概念设备,并且能大卖,造福广大前端或软件工程师。

能否添加webp支持

miniblink主要是用于嵌入式组件,大量采用webp作为图片格式,打包到应用中,可以很有效的解决应用大小问题,希望能加入。

实现cookie分离

对于 每个页面可以实现单独的cookie,或者说一个浏览器实例一个cookie,实例之间不共享cookie。
当然,如果能动态控制是否分离cookie当然更好

cefclient,测试包含combox网页的问题

共有两个问题:

  1. 一般情况下,点击combox,在弹出下拉选项的时候,主窗口会变成失焦状态,弹出完毕后恢复回来,这个问题还好
  2. 主窗口始终置顶的情况下(HWND_TOPMOST),点击combox,下拉选项无法显示出来

支持Linux和MacOS吗?

支持Linux和MacOS吗?如果现在不支持,那么支持的打算吗?因为体积小,所以打算用它来开发一个跨平台的桌面应用。

能支持windows xp吗…?

现在版本不能的话,能否搞一个分支,用旧的node和blink的版本进行集成,以支持xp?

谢谢!

目标文件命名优化

项目当前编译出来的名字为 node.dll,很容易让人联想到 V8 与 nodejs,为避免误解,建议这样修改目标文件名。好处是 短小精悍,宜记忆,不容易混淆:

  1. 不带 node 的版本改为 mb.dll (miniblink)
  2. 带 node 的版本改为 nb.dll (nodeblink)

或者统一叫 mb.dll。

Miniblink显示不出Bootstrap的提示

当Bootstrap表单有input域为required且没有填写就提交的时候,会出现弹泡提示。在浏览器中可以正常显示,但是在MiniBlink中,只是聚焦到了input,却没有弹炮提示。
browser
图1: 浏览器提示
miniblink
图2: Miniblink提示

debug下多项编译问题

编译指南中说编译其他所有项目
但是
严重性 代码 说明 项目 文件 行
错误 LNK1104 无法打开文件“node.lib” cefclient F:\WORK\ExtraLib\miniblink49\build\cefclient\LINK 1

严重性 代码 说明 项目 文件 行
错误 C2039 “GetBydefaultVal”: 不是“gin::Dictionary”的成员 electron f:\work\extralib\miniblink49\electron\browser\api\apiwindow.cpp 1586

且只编译4.8不行 会出现
严重性 代码 说明 项目 文件 行
错误 LNK1181 无法打开输入文件“v8_5_7.lib” miniblink F:\WORK\ExtraLib\miniblink49\build\miniblink\LINK 1

但是5.7会出现
严重性 代码 说明 项目 文件 行
错误 C2039 “GetBydefaultVal”: 不是“gin::Dictionary”的成员 electron f:\work\extralib\miniblink49\electron\browser\api\apiwindow.cpp 1610

而且没有项目名字叫node

提一点关于编译选项的建议

建议把“优化”选项卡里除了“优化”这一项外的选项还原成默认,除了miniblink外的项目打开全程序优化,然后“代码生成”里的“启用字符串池”和“启用函数级链接”也可以还原成默认值
1
image
原因是根据msdn的说明,“最大优化(优选大小)”已经包含了这几个工程里手工修改的选项:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.