最近,刚上任项目boss, 接触客户第一个需求便是浏览器需求,需求如下

Chrome Android pwa不能全屏 手机chrome不能全屏_Chromium

其中标注红色的需求,是让我花了几十种方式尝试的主要源;
自己做过C#,知道可以嵌入外壳,有很多种方案,当然了参考了一位仁兄的文章,

他列举了可以引入chrome内核程序的各种方法,按照他推荐的CEFSharp,开始了最开始的入坑测试;

但本文重点是最简单方式是否满足你的需求

很早以前,也做过商场的打折机触屏的那种,就已经知道通过参数可以控制chrome浏览器的特性,比如最简单的是全屏。所以,后面的兄弟,你先思考一下你的需求,如果你不是必须要直接点击一个应用打开你的bs程序,那么你可以参考本文:

思路有几个,一种通过bat 脚本打开 这种体验一般,但方便用户配置,有的客户需要变更网址;
一种通过设置快捷方式,这种感觉比较低端,用户感觉不到你的存在;
还可以通过vb程序模拟按键F11
这里用最低配置 chrome-win32-49(点击可以下载!谷歌的开原版,兼容XP 这是最高支持XP的版本,如果你的用户用到XP,请不要挣扎 就用这个版本吧!)
拿最简单的全屏举例,
1.快捷方式
选择chrome.exe创建一个快捷方式 然后编辑快捷方式-》属性-》快捷方式-》在目标后面加上 空格 –kiosk这个参数

C:\Users\Administrator\Desktop\chrome-win32\chrome.exe **--kiosk**  www.baidu.com

2.bat脚本打开
StartChrome.bat内容

start chrome-win32\chrome.exe –kiosk –app=file:///c:\test.html
@echo off

注意路径保持和chrome致;
3.这种方式不是很有效,作为你的备选方案吧

Set objShell = CreateObject(“Wscript.Shell”)
objShell.SendKeys “{F11}”

Chromium常见参数
全屏打开网页 –kiosk www.baidu.com
用户数据目录制定 –user-data-dir=”d:\userdata”
禁止双指缩放 –disable-pinch(这个很有用,在触摸设备上)
禁止提示翻译 –disable-translate
最大化 –start-maximized

下面的参数 就没有一一试过 请自行尝试,后果自负 呵呵
1 –allow-outdated-plugins 不停用过期的插件。
2 –allow-running-insecure-content 默认情况下,https 页面不允许从 http 链接引用 javascript/css/plug-ins。添加这一参数会放行这些内容。
3 –allow-scripting-gallery 允许拓展脚本在官方应用中心生效。默认情况下,出于安全因素考虑这些脚本都会被阻止。
4 –disable-accelerated-video 停用 GPU 加速视频。
5 –disable-dart 停用 Dart。
6 –disable-desktop-notifications 禁用桌面通知,在 Windows 中桌面通知默认是启用的。
7 –disable-extensions 禁用拓展。
8 –disable-file-system 停用 FileSystem API。
9 –disable-preconnect 停用 TCP/IP 预连接。
10 –disable-remote-fonts 关闭远程字体支持。SVG 中字体不受此参数影响。
11 –disable-speech-input 停用语音输入。
12 –disable-web-security 不遵守同源策略。
13 –disk-cache-dir 将缓存设置在给定的路径。
14 –disk-cache-size 设置缓存大小上限,以字节为单位。
15 –dns-prefetch-disable 停用DNS预读。
16 –enable-print-preview 启用打印预览。
17 –extensions-update-frequency 设定拓展自动更新频率,以秒为单位。
18 –incognito 让浏览器直接以隐身模式启动。
19 –keep-alive-for-test 最后一个标签关闭后仍保持浏览器进程。(某种意义上可以提高热启动速度,不过你最好得有充足的内存)
20 –kiosk 启用kiosk模式。(一种类似于全屏的浏览模式)
21 –lang 使用指定的语言。
22 –no-displaying-insecure-content 默认情况下,https 页面允许从 http 链接引用图片/字体/框架。添加这一参数会阻止这些内容。
23 –no-first-run 跳过 Chromium 首次运行检查。
24 –no-referrers 不发送 Http-Referer 头。
25 –no-sandbox 彻底停用沙箱。
26 –no-startup-window 启动时不建立窗口。
27 –proxy-pac-url 使用给定 URL 的 pac 代理脚本。(也可以使用本地文件,如 –proxy-pac-url=”file:\\c:\proxy.pac”)
28 –proxy-server 使用给定的代理服务器,这个参数只对 http 和 https 有效。(例如 –proxy-server=127.0.0.1:8087 )
29 –single-process 以单进程模式运行 Chromium。(启动时浏览器会给出不安全警告)
31 –user-agent 使用给定的 User-Agent 字符串

这个是最简单的方式 后面分享代码模式,设计到内容大概有“调用系统键盘”、提供winfromAPI js调用、WPF中文处理等

附注修改,客户后面提出的需求
禁用手指拖拽到上一页/下一页

在Chrome地址栏中输入:chrome://flags/#overscroll-history-navigation,会定位到滚动历史记录导航选项,将该选项的设置改成”Disabled”(已停用)就可以禁用手指拖拽到上一页/下一页。