google-chrome 相关问题

对于Google Chrome浏览器的一般支持是OFF-TOPIC。 CHROME操作系统和铬是关闭主题。 google-chrome适用于与使用Chrome浏览器进行开发相关的问题。有关使用Chrome浏览器或配置Chrome浏览器的问题应发布在https://superuser.com上。有关[google-chrome-os]或[chromium]的问题应该使用这些标签。 Google Chrome浏览器是一种使用Blink渲染引擎的网络浏览器。

由于 SUID 沙箱问题,编译和执行 Chromium 失败

###我正在尝试做的事情: 在 Ubuntu 13.10 上编译并运行 Chromium 源代码 ###我采取的步骤: git 克隆 https://chromium.googlesource.com/chromium/tools/depot_tools.git 添加到 bashrc : ...

回答 2 投票 0

如何防止长时间运行的 HTTP 请求超时?

我有一个 API,可以执行可能需要长时间运行的任务,最多可能需要 10 分钟。当我从 Postman 调用 API 时,效果很好,但是当我从浏览器(Chrome、Safari、F...

回答 1 投票 0

browser_cookie3.BrowserCookieError:无法获取 cookie 解密的密钥

使用 browser_cookie3 python 包时,如下: my_domain = 'www.xxx.com' browser_cookie3.chrome(域名=我的域名) 生成以下错误消息: 追溯(最近的校准...

回答 1 投票 0

为框架祖先生成重复的内容安全策略(IIS 和 Chrome)

我已将 Web 应用程序 (sub.domain.com) 发布到 Internet 信息服务 (IIS) 虚拟服务器,现在希望将其显示在 www.otherdomain.com 上的 iFrame 中。已发布的 web.config 文件...

回答 1 投票 0

在桌面浏览器中使用 Macbook 触摸板(或其他)进行多点触摸手势

我环顾四周,但找不到确凿的答案。是否可以在常规桌面浏览器中检测 Macbook 触摸板或其他笔记本电脑触控板的多点触摸手势和事件...

回答 2 投票 0

canvas无法在chrome中生成bmp图像dataurl

我有从视频中绘制图像的代码。这是代码 函数捕获(){ var video = document.getElementById("videoId"); var 画布 = 捕获(vi...</desc> <question vote="5"> <p>我有从视频中绘制图像的代码。这是代码</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; function capture() { var video = document.getElementById(&#34;videoId&#34;); var canvas = capture(video, 1); var dataURL = canvas.toDataURL(&#34;image/bmp&#34;, 1.0); console.log(&#34;dataurl: &#34;+dataURL); } &lt;/script&gt; &lt;body&gt; &lt;input type=&#34;button&#34; value=&#34;Capture&#34; onClick=&#34;capture()&#34;/&gt; &lt;video id=&#34;videoId&#34; width=&#34;640&#34; height=&#34;480&#34;/&gt; &lt;/body&gt; </code></pre> <p>在控制台上,dataurl 显示为“data:image/png;base64,...”</p> <p>问题?</p> <p>为什么dataurl生成为png格式?</p> <p>注意: 这发生在 Chrome 浏览器[41.0.2272.89]中。 在 firefox 中,url 是以 bmp 格式生成的。</p> </question> <answer tick="true" vote="11"> <h1>支持</h1> <p>并非所有浏览器都支持 BMP。没有要求支持<strong><a href="https://html.spec.whatwg.org/multipage/scripting.html#serialising-bitmaps-to-a-file" rel="noreferrer">除PNG之外的其他格式</a></strong>(我的重点):</p> <blockquote> <p>用户代理必须支持 PNG(“image/png”)。用户代理<strong>可能</strong>支持 其他类型。</p> </blockquote> <p>任何无法识别的格式<strong><a href="https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element" rel="noreferrer">将保存为默认PNG</a></strong>。</p> <blockquote> <p>第一个参数(如果提供)控制要显示的图像的类型 返回(例如 PNG 或 JPEG)。默认为image/png;该类型是 如果不支持给定类型,也可以使用。</p> </blockquote> <p>要检查是否支持某种格式,请检查返回的 data-uri 的第一部分:</p> <pre><code> var wantType = &#34;image/bmp&#34;; var dataUri = canvas.toDataURL(wantType); if (dataUri.indexOf(wantType) &lt; 0) { // or use substr etc. data: + mime // Format NOT supported - provide workaround/inform user // See update below for workaround (or replacement) } </code></pre> <h1>解决方法:手动生成低级 BMP </h1> <p>要另存为 BMP,您必须从画布中提取像素数据、格式化文件头、以正确的格式附加数据、创建 Blob 并通过 objectURL 将其提供给用户。</p> <p><strong>用途:</strong></p> <pre><code>var bmpDataUri = CanvasToBMP.toDataURL(canvas); // returns an data-URI </code></pre> <p>还有获取 BMP 图像作为原始图像的选项 <pre><code>ArrayBuffer</code></pre>:</p> <pre><code>var bmpBuffer = CanvasToBMP.toArrayBuffer(canvas); </code></pre> <p>和<pre><code>Blob</code></pre>:</p> <pre><code>var bmpBlob = CanvasToBMP.toBlob(canvas); var url = URL.createObjectURL(bmpBlob); // example objectURL </code></pre> <p><pre><code>Blobs</code></pre> 当然可以与 <pre><code>createObjectURL()</code></pre> 一起使用,它可以用作图像源以及下载目标,并且往往比使用数据 URI 更快,因为它们不需要与 Base 进行编码/解码-64.</p> <p>它写入支持 Alpha 的 32 位 BMP 文件(Firefox 目前忽略 BMP 文件中的 Alpha 通道)。</p> <p>无论如何,这里是-</p> <h1>演示和源码</h1> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="false"> <div> <pre><code>/*! canvas-to-bmp version 1.0 ALPHA (c) 2015 Ken &#34;Epistemex&#34; Fyrstenberg MIT License (this header required) */ var CanvasToBMP = { /** * Convert a canvas element to ArrayBuffer containing a BMP file * with support for 32-bit (alpha). * * Note that CORS requirement must be fulfilled. * * @param {HTMLCanvasElement} canvas - the canvas element to convert * @return {ArrayBuffer} */ toArrayBuffer: function(canvas) { var w = canvas.width, h = canvas.height, w4 = w * 4, idata = canvas.getContext(&#34;2d&#34;).getImageData(0, 0, w, h), data32 = new Uint32Array(idata.data.buffer), // 32-bit representation of canvas stride = Math.floor((32 * w + 31) / 32) * 4, // row length incl. padding pixelArraySize = stride * h, // total bitmap size fileLength = 122 + pixelArraySize, // header size is known + bitmap file = new ArrayBuffer(fileLength), // raw byte buffer (returned) view = new DataView(file), // handle endian, reg. width etc. pos = 0, x, y = 0, p, s = 0, a, v; // write file header setU16(0x4d42); // BM setU32(fileLength); // total length pos += 4; // skip unused fields setU32(0x7a); // offset to pixels // DIB header setU32(108); // header size setU32(w); setU32(-h &gt;&gt;&gt; 0); // negative = top-to-bottom setU16(1); // 1 plane setU16(32); // 32-bits (RGBA) setU32(3); // no compression (BI_BITFIELDS, 3) setU32(pixelArraySize); // bitmap size incl. padding (stride x height) setU32(2835); // pixels/meter h (~72 DPI x 39.3701 inch/m) setU32(2835); // pixels/meter v pos += 8; // skip color/important colors setU32(0xff0000); // red channel mask setU32(0xff00); // green channel mask setU32(0xff); // blue channel mask setU32(0xff000000); // alpha channel mask setU32(0x57696e20); // &#34; win&#34; color space // bitmap data, change order of ABGR to BGRA while (y &lt; h) { p = 0x7a + y * stride; // offset + stride x height x = 0; while (x &lt; w4) { v = data32[s++]; // get ABGR a = v &gt;&gt;&gt; 24; // alpha channel view.setUint32(p + x, (v &lt;&lt; 8) | a); // set BGRA x += 4; } y++ } return file; // helper method to move current buffer position function setU16(data) {view.setUint16(pos, data, true); pos += 2} function setU32(data) {view.setUint32(pos, data, true); pos += 4} }, /** * Converts a canvas to BMP file, returns a Blob representing the * file. This can be used with URL.createObjectURL(). * Note that CORS requirement must be fulfilled. * * @param {HTMLCanvasElement} canvas - the canvas element to convert * @return {Blob} */ toBlob: function(canvas) { return new Blob([this.toArrayBuffer(canvas)], { type: &#34;image/bmp&#34; }); }, /** * Converts the canvas to a data-URI representing a BMP file. * Note that CORS requirement must be fulfilled. * * @param canvas * @return {string} */ toDataURL: function(canvas) { var buffer = new Uint8Array(this.toArrayBuffer(canvas)), bs = &#34;&#34;, i = 0, l = buffer.length; while (i &lt; l) bs += String.fromCharCode(buffer[i++]); return &#34;data:image/bmp;base64,&#34; + btoa(bs); } }; // -------- DEMO CODE ------------- var canvas = document.querySelector(&#34;canvas&#34;), w = canvas.width, h = canvas.height, ctx = canvas.getContext(&#34;2d&#34;), gr = ctx.createLinearGradient(0, 0, w, h), img = new Image(); gr.addColorStop(0, &#34;hsl(&#34; + (Math.random() * 360) + &#34;, 90%, 70%)&#34;); gr.addColorStop(1, &#34;hsl(&#34; + (Math.random() * 360) + &#34;, 100%, 30%)&#34;); ctx.fillStyle = gr; ctx.fillRect(0, 0, w, h); // append image from the data-uri returned by the CanvasToBMP code below: img.src = CanvasToBMP.toDataURL(canvas); document.body.appendChild(img);</code></pre> <pre><code>&lt;h2&gt;Canvas left, BMP from canvas as image right&lt;/h2&gt; &lt;canvas width=&#34;299&#34; height=&#34;200&#34;&gt;&lt;/canvas&gt;</code></pre> </div> </div> <p></p> </answer> <answer tick="false" vote="0"> <p>转换为 bmp 24bpp 受到用户1693593答案的启发:</p> <p>静态 toArrayBuffer24bpp(画布:HTMLCanvasElement):ArrayBuffer {</p> <pre><code> var w = canvas.width, h = canvas.height, w4 = w * 4, idata = canvas.getContext(&#34;2d&#34;).getImageData(0, 0, w, h), data32 = new Uint32Array(idata.data.buffer), // 32-bit representation of canvas stride24 = Math.floor((24 * w + 31) / 32) * 4, // row length incl. padding pixelArraySize = stride24 * h, // total bitmap size fileLength = 122 + pixelArraySize, // header size is known + bitmap file = new ArrayBuffer(fileLength), // raw byte buffer (returned) view = new DataView(file), // handle endian, reg. width etc. pos = 0, x, y = 0, p, s = 0, v, r, g, b, x2; // write file header setU16(0x4d42); // BM setU32(fileLength); // total length pos += 4; // skip unused fields setU32(0x7a); // offset to pixels // DIB header setU32(108); // header size setU32(w); setU32(-h &gt;&gt;&gt; 0); // negative = top-to-bottom setU16(1); // 1 plane setU16(24); // 24-bits setU32(0); // BI_RGB = 0 setU32(pixelArraySize); // bitmap size incl. padding (stride x height) setU32(2835); // pixels/meter h (~72 DPI x 39.3701 inch/m) setU32(2835); // pixels/meter v pos += 8; // skip color/important colors setU32(0xff0000); // red channel mask setU32(0xff00); // green channel mask setU32(0xff); // blue channel mask setU32(0xff000000); // alpha channel mask setU32(0x57696e20); // &#34; win&#34; color space // bitmap data, change order of ABGR to BGRA while (y &lt; h) { p = 0x7a + y * stride24; // offset + stride x height x = 0; x2 = 0 while (x &lt; w4) { v = data32[s++]; // get ABGR b = v &amp; 0xff g = (v &gt;&gt; 8) &amp; 0xff r = (v &gt;&gt; 16) &amp; 0xff view.setUint8(p + x2++, r) view.setUint8(p + x2++, g) view.setUint8(p + x2++, b) x += 4; } y++ } return file; // helper method to move current buffer position function setU16(data) {view.setUint16(pos, data, true); pos += 2} function setU32(data) {view.setUint32(pos, data, true); pos += 4} </code></pre> <p>}</p> </answer> </body></html>

回答 0 投票 0

不支持的分析 SDK 版本

在尝试访问CTV新闻网站上的视频时,我经常无法观看视频,因为出现以下错误消息: 不支持的分析 SDK 版本,请提供所需的 SDK 7.8.0+

回答 1 投票 0

Windows Edge/Chrome/Firefox 可以进行 Kerberos 协商(而不是 NTLM)吗?

我能够在 Mac + Windows 上成功使用 kinit + klist 来验证票证。我什至将我的 Kerberos 配置转移到“KerberosForWindows”。 Win上好像没有什么浏览器...

回答 1 投票 0

为什么在 Chrome devtool 中模拟离线会导致无法访问 localhost?

尝试访问在 localhost:4200 上运行的 Web 应用程序(Angular)时,使用“节流:离线”在 chrome 开发工具中模拟离线状态会导致“无互联网连接”错误。 当手动...

回答 1 投票 0

Chrome 未加载最新版本的 Web Worker 脚本(运行缓存版本)

如果我编辑 Web Worker 脚本并刷新页面,则 Web Worker 脚本是缓存版本。我有理由相信这不是我的网络服务器,因为我可以立即加载......的最新副本

回答 7 投票 0

禁用 chrome React DevTools 进行生产

我正在尝试使用 gulp 和 envify 对我的 React 应用程序进行浏览器化以设置 NODE_ENV。所以我可以删除反应警告、控制台中的错误报告,甚至我的代码来禁用某些功能......

回答 11 投票 0

即使输入 {PH1} 以允许粘贴,也无法在 Chrome DevTools 中粘贴代码

今天,我尝试在 Chrome DevTools 控制台(在 macOS 上)中运行代码。当我粘贴类名时,我收到一条错误消息: 警告:请勿将代码粘贴到您想要的 DevTools 控制台中...

回答 3 投票 0

Chrome 扩展程序:由于内容安全策略 (CSP) 在最近没有更改后拒绝加载脚本

我一直在使用 Vite 和 React 开发 Chrome 扩展,直到最近一切都运行良好。我没有进行任何更改,但现在我收到内容安全策略 (CSP) 错误

回答 1 投票 0

有没有办法在网络选项卡中按 API 名称过滤掉 API - Google Chrome 开发者工具

在 Google Chrome - 开发者工具网络选项卡中,是否可以通过名称过滤掉特定的 API? 场景:在我的应用程序中,我有一个名为“Notifications”的 API (http://localhost:portn...

回答 1 投票 0

H2 使用配置文件切换从 git-bash 中执行的 shell 脚本启动 chrome.exe? (窗户)

我想从 shell (bash) 脚本启动 chrome.exe,运行 git-bash,并使用特定的 chrome 配置文件(以及一个 URL)。 我尝试从其位置执行 chrome.exe。我尝试使用开始,但是...

回答 1 投票 0

阻止创建 WebMediaPlayer 的尝试,因为已经存在太多 WebMediaPlayer

我们正在浏览器中开发数字音频工作站之类的东西。我们需要在一个选项卡中处理多个音频文件。我们使用 new Audio(audioUrl) 来能够在我们自己的au中播放音频...

回答 4 投票 0

Chrome/Windows10 右键单击/上下文菜单选项按键下划线缺失

大家好,希望你们都安全健康。 我有这个担忧,今年我注意到字母上的下划线消失了,它们非常有帮助,因为它指示要按哪个键盘键

回答 2 投票 0

如何以特定用户身份打开chrome

我正在制作一个批处理文件,将 Chrome 打开到特定页面。我从 开始 通过编写以下行来命令: 启动 http://www.google.com 然后我添加了特定的浏览器 chrome t...

回答 2 投票 0

在 Chrome 中启用不安全的 WebSocket

我有一个 https:// Web 应用程序正在打开不安全的 Websocket 连接。 默认情况下,浏览器不允许这样做,但我可以使用 network.websocket.allowInsecureFromHTTPS =... 绕过 FireFox 中的行为

回答 1 投票 0

Web Serial API:在浏览器中读取 ESP32 时出现“BufferOverrunError”

我正在使用 Web Serial API 通过 USB 连接从 ESP32 设备读取数据,但在尝试读取数据时,我在浏览器中始终遇到“BufferOverrunError”错误。 瑟...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.