Mozilla Firefox是一款免费的开源跨平台Web浏览器。如果您的问题与Firefox的内部工作方式有关,或者如果它与在其他浏览器中工作的Firefox无效的代码相关,请使用此标记。关于Firefox附加组件开发的问题应该被标记为[firefox-addon]。如果您的问题是关于使用Firefox浏览(即作为最终用户),您应该在超级用户上提问。
Firefox 中的视频源不会调用 Service Worker
我的 Firefox 行为相当奇怪,我无法解释。想象一下这两个非常简单的 HTML 标签: ... 我的 Firefox 行为相当奇怪,我无法解释。想象一下这两个非常简单的 HTML 标签: <img src="http://localhost:1234/api/getBlob?file=1.jpg">... <video src="http://localhost:1234/api/getBlob?file=2.mp4">... 我编写了一个 Service Worker,将 JWT 添加到 Authorization 标头,因为我的后端不是公开的。 self.addEventListener('fetch', function (event) { const url = event.request.url.toLowerCase(); if (!url.includes('api/getblob')) { return; } if (event.request.headers.has('Authorization')) { return; } event.respondWith( (async function () { const token = await requestTokenFromMainThread(); const headers = new Headers(event.request.headers); headers.set('Authorization', 'Bearer ' + token); const modifiedRequestInit = { headers: headers, mode: 'cors', credentials: 'omit', }; const modifiedRequest = new Request(event.request, modifiedRequestInit); try { return fetch(modifiedRequest); } catch (error) { console.error('Error fetching resource:', error); return new Response('Error fetching resource', { status: 500 }); } })(), ); }); function requestTokenFromMainThread() { return new Promise((resolve) => { const channel = new MessageChannel(); channel.port1.onmessage = (event) => { resolve(event.data); }; self.clients.matchAll().then((clients) => { if (clients && clients.length) { clients[0].postMessage('requestToken', [channel.port2]); } }); }); } 这非常适合 Safari 和基于 Chromium 的浏览器(例如 Edge 或 Chrome 本身)。但 Firefox 的情况开始变得奇怪。虽然 <img src 是由服务人员处理的,但 <video src 不是,而且我从来没有进入过 fetch 函数。所以我把调试点放在 const url = event.request.url.toLowerCase(); 上,这永远不会被 <video src 击中,但会被 <img src 击中,我不确定为什么。 编辑1: 在 Firefox 中,如果我转到有问题的请求并单击“在控制台中用作获取” - 那么,正如几乎预期的那样,它就像一个魅力。 Firefox 中该问题的“修复”方法是将 crossorigin="anonymous" 属性添加到 video 标签中: <video src="..." crossorigin="anonymous"></video> 无论如何,我确实为 Firefox 打开了一张票,因为如果未定义 crossorigin,我不确定这是否是预期的行为。 门票:https://bugzilla.mozilla.org/show_bug.cgi?id=1923096
我正在尝试制作一个可以启动 Firefox 的批处理文件。 我需要打开一个包含两个选项卡的私人 Firefox 窗口。我尝试了 -new-tab 和 -private-window 的各种组合,但我不能......
是否有适用于 Firefox 或 Chrome 的浏览器扩展程序可以从一个页面复制表单字段值并将其粘贴/自动填充到包含相同或相似表单的另一个页面/选项卡中?有什么建议吗...
我将尝试提供足够的细节和信息以使此(半)可重现,但有很多因素在起作用,因此可能会很棘手。 我有一个使用 React 和 Pytho 构建的全栈应用程序...
伪装音频播放器在 Firefox 中完美运行,但在 Chrome 中却不行
我使用以下 HTML、CSS 和 Javascript 将视频播放器伪装成音频播放器。 它在 Firefox 中完美运行,但在 Chrome 中按播放按钮实际上并没有播放任何内容......
我知道200 OK,但是建立的200连接是什么? 为了提供一些背景知识,我正在旧的 Firefox 浏览器(确切地说是版本 26)中测试 XMLHTTPRequest,我将其视为响应...
如何使用Python访问Firefox的内部indexedDB文件?
我需要使用python读取firefox的indexeddb。 我使用 slite3 包来检索 indexeddb 的内容: 使用 sqlite3.connect(indexeddb_file) 作为 conn: c = conn.cursor() c.execute('选择...
即使卸载 Firefox,Firefox“无法加载 XPCOM”错误也不会消失
我的电脑最近被意外擦除。在恢复过程中,我运行了各种工具来恢复我的计算机,并且在大多数情况下,我找回了我的应用程序和文件。我也用过这个...
python 3.10 无法在 selenium 4 上设置代理 HTTP/HTTPS
硒4.2.0 蟒蛇3.10.4 尝试使用 python 在 gecko 驱动程序 Firefox 上设置代理时遇到问题 尝试过 从 selenium.webdriver 导入 Firefox 从硒导入网络驱动程序 从se...
MS Edge/Chrome (Chromium) 停止显示响应/预览
我最近发现,对于 OData 服务的 $batch 调用,我在 Chrome 和 Edge 的开发工具中不再有预览/响应。 尽管如此,例如在 Firefox 中我能够看到...
Paste event.clipboardData 无法在 Firefox 中粘贴多个文件
我注意到Paste event.clipboardData只能在Firefox(130.0.1)中粘贴从剪贴板复制的单个文件,但Chrome(129.0.6668.70)和Edge可以很好地粘贴多个文件。 我不能
使用 Python Selenium Geckodriver 的 Shadow DOM
我正在尝试使用此代码访问以下网站上的影子根元素 https://www.wego.ae/en/flights/searches/cSFO-cLHR-2020-03-09:cLHR-cSFO-2020- 03-22/经济/1a:0c:0i?sort=价格&订单...
目前我的 React 组件由几个标签和一个输入框组成。它有查看模式和编辑模式。 当我进入编辑模式时,NVDA 自动进入表单模式,因此我...
我有一个固定框,我想在其中显示由 PDF.js 渲染的 PDF。由于 PDF.js 文档无法真正访问(通过它们的源文件),我想知道它是否可能......
已更新至 Firefox 115.15esr - ChatGPT 和 DALL-E 不再工作
最近更新至 Firefox 115.15 esr,无法再使用 Firefox 访问 ChatGPT 或 DALL-E。使用 Edge 或 Chrome 等其他浏览器时未报告任何问题。检查 Firefox 中的控制台,有
我正在使用凭据和预检请求实现 CORS,我有点困惑为什么预检请求在 Firefox 30 中始终失败,但在 Safari (7.0.2) 和 Chrome 35 中有效。我认为...
嗨,我正在做一些网络自动化。我正在尝试打开一个 url,但在 chrome 控制台中收到数据 URL 错误,因此我正在转向 Firefox 控制台,以解决在 chrome 中打开无数据 url 的问题
使用带有凭据的 Fetch 的跨源 AJAX 请求:'include' 和使用 SameSite=None 设置的 cookie 在 Firefox 中不会发送
我正在尝试使用从attacker.local到defender.local的提取来发出跨域AJAX请求,并且我希望该请求包含在defender.local上设置的cookie。 我遵循了这个指南:...
无法让 mitmproxy 适用于 google.com (https) 等网站
我已经在linux机器上安装了mitmproxy,我想在我的Mac上使用firefox来使用它。 当我连接到 gmail 或 twitter 等网站时,我什么也没发生(我在浏览器中所在的页面是......
为什么我的 XML 文件在 Firefox 中无法正确呈现?
我正在使用 Firefox 读取 XML 文件,但它无法正确呈现 XML 文件。可能是什么问题?我在下面发布了 XML 示例: 我正在使用 Firefox 读取 XML 文件,但它无法正确呈现 XML 文件。可能是什么问题?我在下面发布了 XML 示例: <?xml version="1.0" encoding="utf-8"?> <ExtPostTransaction> <TransactionInfo> <UserID>us</UserID> <Password>pwd</Password> <ServiceCode>1010</ServiceCode> <TransactionID>T20120518091833</TransactionID> </TransactionInfo> </ExtPostTransaction> 我的 Firefox 显示为: uspwd1010T20120518091833 我期待这个: <ExtPostTransaction> <TransactionInfo> <UserID>us</UserID> <Password>pwd</Password> <ServiceCode>1010</ServiceCode> <TransactionID>T20120518091833</TransactionID> </TransactionInfo> </ExtPostTransaction> 许多附加组件都会导致此问题。尝试禁用您的附加组件;如果它有效,您就知道其中之一导致了您的问题。然后,您可以一一重新启用它们,以隔离导致问题的原因。 就我而言,XML 页面显示为空白,当我查看页面源代码(右键单击页面或按 Ctrl+U 时可用选项)时,完整的 XML 就在那里。 当我禁用很棒的屏幕截图附加组件时,问题就解决了。 我建议您尝试一一停用附加组件! 对我来说,它来自 AdBlocker Ultimate(至少在 2.26 版本中) 但显然有一长串插件可以修改它,包括(至少在某些版本中): - 单击即可进行 Skype 通话 - 阿维拉 - 卡巴斯基 是的,问题发生在使用 Content-Type: application/xml 提供的内容上 我也遇到了同样的问题,我发现 Evernote webclipper 插件搞乱了我的 firefox。一旦我禁用它,我就能够查看预先格式化的 xml。 尝试禁用所有 Firefox 扩展,然后重新加载 XML 并查看 XML 是否再次显示为树。 如果是这样,请一一重新启用它们,直到您的 xml 失去其样式。 对我来说,它是 Firefox Quantum 59.0.2(64 位)中的 Adobe Acrobat 18.0.8 "Convert current web page to an Adobe PDF file" 插件。 一旦禁用,刷新页面会产生漂亮的 XML 树。启用该插件会立即将 XML 恢复为没有标签的纯文本,而无需刷新。 终于找到了适合我的解决方案。启用 Firebug 后,Firefox 似乎会错误地呈现 XML 文件。当它关闭时,XML 文件会正确呈现。 就我而言,问题在于 Firefox 的 Tampermonkey(当前为 4.18.1)。 听起来您正在使用 text/html 内容类型提供文档,因此 Firefox 正在尝试将其呈现为 HTML。 如果您希望它使用默认的 XML 视图来呈现它,您需要如实了解它是什么类型的数据。使用 application/xml 或其他 XML 内容类型提供服务。 具体操作方式取决于您的网络服务器和/或服务器端编程语言(如果涉及)。 似乎有许多扩展会修改页面的显示,从而破坏 XML 的呈现。 检查问题是否由插件引起的最佳方法是尝试在私人窗口中查看页面。如果显示正确,请一一禁用您的插件,直到找到违规者。然后,请将其添加到列表中。 其他帖子中的一些已知插件是: 广告拦截器精简版 广告拦截器终极版 Adobe Acrobat Avira 浏览器安全 很棒的截图 语法选集 亲爱的 卡巴斯基保护 卡塔隆录音机 LanguageTool - 语法和风格检查器 Nimbus 屏幕截图:屏幕截图、注释 硒IDE Skype 点击通话 什么字体 Youtube 下载 我有一个非常相似的问题,但我没有可以禁用的附加组件。 然后我注意到文本中的一些图形图像。 结果发现它们是嵌入的 SVG。 当我剥离这些内容时,剩余的 XML 标记按照预期呈现为可扩展树。 显然,Firefox 渲染器首先会看到 SVG 并对其进行转换,而不会将其简单地识别为 XML 文档的一部分。 我还注意到 Chrome 以同样的方式处理这个问题。 我不知道是哪个插件导致了问题,但我没有任何想要禁用或删除的插件。 我已经安装了https://addons.mozilla.org/en-US/firefox/addon/pretty-xml/ 而且很漂亮 禁用 Selenium IDE 扩展(https://github.com/SeleniumHQ/selenium-ide)解决了我的问题。 我打开了一个私人标签,一切都很好。然后我一一关闭并打开扩展,直到 xml 文件正确呈现。 对我来说DuckDuckGo Privacy Essentials就是问题所在。 我必须禁用 Firefox 扩展 AdBlocker Lite 0.4.2 才能将 XML 文件显示为 XML 而不是文本。