问题标签 [fennec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mobile - 如何在 Fennec 扩展中驯服多个事件侦听器?
我正在尝试为 Firefox Mobile 编写一个无需重启的插件,它将内容插入特定的网页。在我尝试禁用然后重新启用加载项之前,这一切似乎都可以正常工作,此时我得到了对页面加载事件的多个响应,我无法找到一种方法来解决它们。
由于 Fennec 使用 Electrolysis 多进程平台,我知道我需要将我的代码拆分为 chrome 和 content 脚本。我的 bootstrap.js 看起来像这样(为清楚起见进行了修剪):
基本上,bootstrap.js 只是启动一个内容脚本,并发送一条消息告诉它在关机时进行清理。content.js 设置了一个 eventListener 来监视页面加载,看起来有点像这样:
当我第一次运行扩展程序时,一切正常。为每个浏览器选项卡(以及我打开的任何新选项卡)执行一个 content.js 实例,并且我的 eventListener 检测到它应该通过 DOMContentLoaded 事件加载的页面。当我禁用扩展时,一切似乎仍然正常:页面加载停止被检测到。
当我重新启用扩展程序时,一切都出错了。我仍然会为每个打开的选项卡执行一个 content.js 实例,但是现在,如果我打开新选项卡,DOMContentLoaded 会触发多个 eventListeners,我无法区分哪个应该处理该事件。更糟糕的是,一些 eventListeners 是活动的,但不要通过我的 LOG 函数提供调试信息,如果我第二次禁用扩展,它们也不会全部被删除。
我确实想查看所有浏览器选项卡,包括任何新选项卡,但我只希望我的扩展程序在触发它的页面上插入内容,并且每个页面加载一次。我尝试了以下但没有成功:
- 调用 e.stopPropagation() 以停止将事件传递给其他侦听器。没有效果。
- 调用 e.preventDefault() 并测试 e.defaultPrevented 以查看事件是否已被处理。它从来没有。
- 测试 if (this === content.document) 以查看 eventListener 是否已被其自己的页面内容触发。不起作用,因为我得到了多个“真实”响应。
- 使 eventListener 捕获。没有效果。
- 使用 load 事件而不是 DOMContentLoaded。
我无法设置共享变量来说明事件已在电解下处理,不同的 eventListener 将在不同的上下文中执行。此外,我无法区分加载同一页面的多个选项卡和多次检测到一个页面加载。我可以通过 IPC 消息传递回 chrome 引导脚本来做到这一点,但是我不知道如何将响应返回到正确的浏览器选项卡。
有任何想法吗?这是一个 Firefox 错误,还是我在我的代码中做了一些愚蠢的事情?我正在使用 Fennec Desktop v4 进行开发,并将针对 Fennec Android v6 进行生产。
fennec - 如何更改firefox android版本(Fennec)中的界面字体?
我尝试在我的 android 手机(android 版本 2.3.3)中使用 firefox 移动版查看泰米尔语字符的网站(例如http://ta.wiktionary.org)。我发现所有的文本都是框。这是因为 android 2.3.3 没有附带泰米尔语字体。
我想知道我们是否可以在 fennec 中选择自定义字体(支持泰米尔语支持)来显示网站文本。
jquery - 如何在 Firefox Mobile (Fennec) 扩展的内容脚本中使用 jQuery?
我正在开发一个 Firefox Mobile (Fennec) 扩展,我想在内容脚本中使用 jQuery。最好的方法是什么?
我正在 Firefox Mobile 4 的桌面版上进行测试
firefox - 如何在 Fennec (Firefox Mobile) 附加组件中捕获夹点事件?
我正在为 Fennec (Firefox Mobile) 开发一个附加组件。
我想在用户进行 2 根手指捏合以缩小并在最大缩小超过 1 秒后继续缩小后触发触发器。
我怎样才能赶上那个事件?
firefox-addon - 如何从内容脚本(Fennec 扩展)登录到文件
我能够从覆盖登录到文件:我有一个控制台侦听器,它将所有 logStringMessage 写入文件。但我无法让它适用于页面中注入的内容脚本。
我已经验证所有调试消息都记录到控制台。
如何将 logStringMessage 从 Fennec 扩展中的内容脚本重定向到文件?
windows - How to install Fennec on Windows Vista?
I just downloaded it from http://www.mozilla.org/en-US/mobile
Developer Tools
You can install the mobile version of Firefox to your desktop computer in order to test, provide feedback, and build add-ons.
But I don't know how to install it. I wanna test my web page on Firefox Mobile.
Thank you!
mobile - Mozilla Fennec 是否支持移动平台中的插件?
查看 Fennec 是否支持移动平台中的插件兼容性,例如适用于 iphone、Android 或 Windows 的 iO。
还期待开发扩展开发的指南,以便在 Fennec 中用于移动平台。
firefox - 如何将 Firefox OpenSearch 搜索引擎插件标记为移动兼容?
我为 Firefox 开发了几个搜索提供程序(不是 XPI 插件,而只是一个 XML 文件),但无法在 Firefox Mobile 中安装任何搜索提供程序,出现不兼容错误:
Firefox 不支持此搜索引擎,因此无法安装。
如何使它们兼容?我在 Dev Hub 上没有发现任何与兼容性相关的内容。
javascript - Firefox 与 Firefox Mobile (Fennec):是否存在可检测到的 javascript 差异?
我试图找到移动设备支持但桌面版 Firefox 不支持的 javascript 元素,反之亦然。我对用户代理的差异不感兴趣。CSS 支持之间的差异也可能有帮助。您知道检测差异的可靠方法吗?
android - 为移动火狐(fennec)创建一个扩展(android应用程序)
我想在 android 中为 fennec (mobile firefox) 创建一个扩展,我已经有一个 android 应用程序,我想从 mobile firefox 午餐,通过点击一个按钮,我将添加到这个网络浏览器的用户界面,我做了很多研究,但我仍然迷路,我不知道从哪里开始..如果有人有教程或良好文档的链接,请给我
非常感谢您的帮助!