chromium

How to remove the infobar “Microsoft Edge is being controlled by automated test software” in selenium test

五迷三道 提交于 2020-06-01 02:27:48
问题 We are using selenium to run test against "Chromium based Edge". "The Chromium Edge" is downloaded from https://www.microsoftedgeinsider.com/en-us/download and the version is 80.0.334.2 (Official build) dev (64-bit). We got the matched driver msedgedriver.exe from https://msedgewebdriverstorage.z22.web.core.windows.net/ We add the "C:\Program Files (x86)\Microsoft\Edge Dev\Application" to the environment "PATH" so that the executable "msedge.exe" will be found during the test. After starting

Best way to detect typed key on different systems and keyboards? Chrome mobile keyCode bug

大憨熊 提交于 2020-05-09 07:18:27
问题 I'm working on this special input and I need to allow / disallow some keys from being typed by the user. I'm doing the validation on the onKeyDown handler. This is what I was doing at first: const ALLOWED_KEYS = [ "Ctrl", "Meta", "Shift","Home", "End", "Backspace", "Delete", "ArrowLeft", "ArrowRight", "Tab", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "," ]; function onKeyDown(event) { if (ALLOWED_KEYS.indexOf(event.key) === -1) { event.preventDefault(); } } But I was worried that

Combining audio and video tracks into new MediaStream

柔情痞子 提交于 2020-05-09 01:27:54
问题 I need to get create a MediaStream using audio and video from different MediaStreams. In Firefox, I can instantiate a new MediaStream from an Array of tracks: var outputTracks = []; outputTracks = outputTracks.concat(outputAudioStream.getTracks()); outputTracks = outputTracks.concat(outputVideoStream.getTracks()); outputMediaStream = new MediaStream(outputTracks); Unfortunately, this doesn't work in Chrome: ReferenceError: MediaStream is not defined Is there an alternative method in Chrome

Combining audio and video tracks into new MediaStream

百般思念 提交于 2020-05-09 01:24:11
问题 I need to get create a MediaStream using audio and video from different MediaStreams. In Firefox, I can instantiate a new MediaStream from an Array of tracks: var outputTracks = []; outputTracks = outputTracks.concat(outputAudioStream.getTracks()); outputTracks = outputTracks.concat(outputVideoStream.getTracks()); outputMediaStream = new MediaStream(outputTracks); Unfortunately, this doesn't work in Chrome: ReferenceError: MediaStream is not defined Is there an alternative method in Chrome

JavaScript 实现前端文件下载

大憨熊 提交于 2020-05-06 16:32:15
A.download HTML5的A标签有一个 download 属性,可以告诉浏览器下载而非预览文件,很实用,参考链接: http://www.zhangxinxu.com/wordpress/2016/04/know-about-html-download-attribute/ 有时候,WEB端临时创建了一个文件,供用户下载,怎么办呢?示例如下: // 从canvas提取图片数据 var raw = ctx.getImageData( 0, 0, 300, 300); // 压缩为JPEG图片 // https://github.com/owencm/javascript-jpeg-encoder var jpegURI = ( new JPEGEncoder()).encode(raw, 75); // 弹出对话框,交由用户保存图片 saveFile(jpegURI, '文件名'); // saveFile函数 function saveFile( d, a) { var b = document.createElement( 'a'); b.href = d; b.download = a; var c = document.createEvent( "MouseEvents"); c.initMouseEvent( "click", true, false, window

上传Markdown文件内的本地图片至博客园

ε祈祈猫儿з 提交于 2020-05-05 12:02:39
上传Markdown文件内的本地图片至博客园 ​ 因为习惯使用Markdown格式做笔记,有时希望将它放到网上方便在任何有网络的地方查找。开始是放到Github中的,但是有时访问的速度太慢了所以准备将笔记放到博客园中,这样访问速度就快了。 ​ 但是使用Markdown写的文件中时不时会有几张图片,上传笔记的时候还要一个一个的去本地找照片,再上传到博客园上。如果说一两张图片还好,但是图片多了,这样重复无聊的动作就会让人烦躁,因此便产生了编写能自动上传Markdown中的本地图片,并自动改掉文章中的链接的程序的想法 ​ 上传图片需要账号信息,但只知道账号密码没啥用,因为不知道上传图片的API接口,而偶然的机会知道了Electron,它可以用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将 Chromium 和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。 ​ 也就是说只要用Eletron编写的程序,然后用它登录账号,程序就能存储其session,再使用ajax上传图片,这样就能自动附带上用户的session,然后就能上传图片了。额大概就这意思,反正我是这么理解的,使用说明如下 程序界面 程序界面如下,仿照PS做的 登陆账号 然后登录一下账号

上传Markdown文件内的本地图片至博客园

梦想与她 提交于 2020-05-05 12:01:20
上传Markdown文件内的本地图片至博客园 ​ 因为习惯使用Markdown格式做笔记,有时希望将它放到网上方便在任何有网络的地方查找。开始是放到Github中的,但是有时访问的速度太慢了所以准备将笔记放到博客园中,这样访问速度就快了。 ​ 但是使用Markdown写的文件中时不时会有几张图片,上传笔记的时候还要一个一个的去本地找照片,再上传到博客园上。如果说一两张图片还好,但是图片多了,这样重复无聊的动作就会让人烦躁,因此便产生了编写能自动上传Markdown中的本地图片,并自动改掉文章中的链接的程序的想法 ​ 上传图片需要账号信息,但只知道账号密码没啥用,因为不知道上传图片的API接口,而偶然的机会知道了Electron,它可以用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将 Chromium 和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。 ​ 也就是说只要用Eletron编写的程序,然后用它登录账号,程序就能存储其session,再使用ajax上传图片,这样就能自动附带上用户的session,然后就能上传图片了。额大概就这意思,反正我是这么理解的,使用说明如下 程序界面 程序界面如下,仿照PS做的 登陆账号 然后登录一下账号

PC端多端融合方案

≡放荡痞女 提交于 2020-05-04 21:15:39
每天都要写第二天的 todoList。有一天在写的时候突然想到,为了让自己清楚知道自己需要做啥、做了多少、还剩多少没做,想写一个电脑端程序,在技术选型的时候就选了 electron。 一、 方案选型 3天时间写了个 PC 端应用程序。先看看结果吧 为什么要选 electron 作为 pc 端开发方案? 史前时代,以 MFC 为代表的技术栈,开发效率较低,维护成本高。 后来使用 QT 技术,特点是使用 DirectUI + 面向对象 + XML 定义 UI,适用于小型软件、性能要求、包大小、UI 复杂度叫高的需求。 再到后来,以 QT Quick 为代表的技术,特点是框架本身提供子控件,基于子控件组合来创建新的控件。类似于 ActionScript 的脚本化界面逻辑代码。 新时代主要是以 electron 和 Cef 为 代表。特点是界面开发以 Web 技术为主,部分逻辑需要 Native 代码实现。大家都熟悉的 VS Code 就是使用 electron 开发的。适用于 UI 变化较多、体积限制不大、开发效率高的场景。 拿 C 系列写应用程序的体验不好,累到奔溃。再加上有 Hybrid、React Native、iOS、Vue、React 等开发经验,electron 是不二选择。 二、 Quick start 执行下面命令快速体验 Hello world,也是官方给的一个

PC 端多端融合方案

我与影子孤独终老i 提交于 2020-05-04 19:22:00
一、 方案选型 3天时间写了个 PC 端应用程序。先看看结果吧 为什么要选 electron 作为 pc 端开发方案? 史前时代,以 MFC 为代表的技术栈,开发效率较低,维护成本高。 后来使用 QT 技术,特点是使用 DirectUI + 面向对象 + XML 定义 UI,适用于小型软件、性能要求、包大小、UI 复杂度叫高的需求。 再到后来,以 QT Quick 为代表的技术,特点是框架本身提供子控件,基于子控件组合来创建新的控件。类似于 ActionScript 的脚本化界面逻辑代码。 新时代主要是以 electron 和 Cef 为 代表。特点是界面开发以 Web 技术为主,部分逻辑需要 Native 代码实现。大家都熟悉的 VS Code 就是使用 electron 开发的。适用于 UI 变化较多、体积限制不大、开发效率高的场景。 拿 C 系列写应用程序的体验不好,累到奔溃。再加上有 Hybrid、React Native、iOS、Vue、React 等开发经验,electron 是不二选择。 二、 Quick start 执行下面命令快速体验 Hello world,也是官方给的一个 Demo。 git clone https://github.com/electron/electron-quick-start cd electron-quick-start npm

测试报告

会有一股神秘感。 提交于 2020-05-04 08:37:48
在测试过程中发现的Bug BUG 是否解决 无法上传PDF文件 是。最初功能设想是每名用户使用自己的Azure storage账户,如果使用这种方法我们的工具将变得难以推广,因为国内大部分人都没有一张visa卡。因此我们后来改变了功能设计,在改变时却忽略了上传模板的功能,后来增加了一个上传页面,让用户上传空表单模板 工具栏图标错误 是。不熟悉fabric-icons这个UI库的使用,导致本地图标无法显示,并且在前端控制台中报warning和error。在研读原代码之后,知道了如何关联和使用这个图标库,但显示时图标发生了莫名其妙的“失真”,最终挑选原项目已有的图标作为工具栏中的页面图标。 data页面展示pdf时,无法切换想要展示的pdf 是。由于原代码架构过于复杂,一些读取storage的服务和写好的关于pdf资源展示的模块理解出错,花费一天时间才找到问题,但同时也对项目架构有了更多的理解 生成数据改变时,展示界面更新有延迟 是。一开始以为是网络问题导致的延迟,后来在代码复审的过程中,发现在生成新的pdf后,没有及时调用更新展示界面的函数,而令其自动检测容器中文件是否发生变化,有变化时才更新。发现错误后就及时进行了修补。 页面部分文字错误 是。某前端开发人员搞错了单词是否是可数名词,在代码复审的时候发现并修复,增长了姿势。😃 前端向后端发送请求时有概率出现500错误 是