我有一个非常具体的html表构造,似乎揭示了一个Gecko错误.
这是问题的提炼版本.在基于gecko的浏览器(例如FF)中观察下表:(您必须将其复制并粘贴到新文件中)
<style>
table.example{
border-collapse:collapse;
}
table.example td {
border:1px solid red;
}
</style>
<table class="example">
<thead>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td rowspan="3">3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td rowspan="2">2</td>
</tr>
<tr>
<td>1</td>
<td>3</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
右下角单元格中的"3"上缺少一条线 - 在任何其他浏览器中查看该线条,该线条将按预期显示.有趣的是,抛弃桌子的thead部分,看看我们得到了什么:
<style>
table.example{
border-collapse:collapse;
}
table.example td {
border:1px solid red;
}
</style>
<table class="example">
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td rowspan="3">3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td rowspan="2">2</td>
</tr>
<tr>
<td>1</td> …Run Code Online (Sandbox Code Playgroud) 你好,我最近有点好奇,想做一个浏览器.我想使用现有的引擎,例如Gecko或Webkit.网络上是否有任何资源可用于如何入门和任何示例?语言选择并不重要(但请不要VB.这是我找到的唯一示例代码)
我想使用HTML + CSS + JavaScript为Linux环境中的触摸屏设备开发用户界面,并且需要合适的渲染引擎.
有问题的设备将具有400至900 MHz时钟的ARM CPU,VGA或WVGA显示器以及使用标准Debian Linux(简约安装)的大约256 MB RAM或更多RAM.
理想情况下,渲染引擎将直接访问/ dev/fb0和鼠标事件.由于浏览器只是用作渲染引擎,我不需要/想要任何GUI - 没有窗口,没有标签,没有对话框,只有一个大量使用JavaScript与用户交互的全屏HTML页面(如动态网页).
如果可以避免Qt/GTK/DirectFB等(减少内存开销和启动时间),那将是很好的,但当然这不是绝对必要的.
当然,WebKit和Gecko会浮现在我的脑海中,但它们既难以理解又难以编译.也许众多叉子中的一个接近我需要的东西(我搜索但到目前为止没有运气)?
我一直在查看developer.mozilla.org和Apple开发文档中的文档,但是我无法找到解释您是否可以以编程方式确定特定HTML标记是否支持给定eventListener的文档.
就像我知道<script>标签不会支持点击监听器,因为没有什么可点击,但我怎么知道?
或者除此之外,是否有一个简单的参考,每个标签支持哪些事件?
我正在尝试构建Gecko代码,我从Github克隆了它:git clone https://github.com/mozilla/gecko-dev.git
我收到autoconf 2.13 not found错误,已经安装在我的Mac机上:
Tom-Swayer:gecko-dev vmishra$ autoconf --version
Autoconf version 2.13
Tom-Swayer:gecko-dev vmishra$ sudo make build
Password:
./mach build
0:00.33 /usr/bin/make -f client.mk -s MOZ_PARALLEL_BUILD=9 -s
0:01.86 Adding client.mk options from /Users/vmishra/Desktop/gecko-dev/.mozconfig:
0:01.86 AUTOCLOBBER=1
0:01.86 export MOZ_AUTOMATION_BUILD_SYMBOLS=1
0:01.86 export MOZ_AUTOMATION_L10N_CHECK=1
0:01.86 export MOZ_AUTOMATION_PACKAGE=1
0:01.86 export MOZ_AUTOMATION_PACKAGE_TESTS=1
0:01.86 export MOZ_AUTOMATION_INSTALLER=0
0:01.86 export MOZ_AUTOMATION_UPDATE_PACKAGING=0
0:01.86 export MOZ_AUTOMATION_UPLOAD=1
0:01.86 export MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
0:01.86 export MOZ_AUTOMATION_SDK=0
0:01.86 MOZ_MAKE_FLAGS=-j9 -s
0:01.86 MOZ_OBJDIR=/Users/vmishra/Desktop/gecko-dev/VM-Gecko-build
0:01.86 OBJDIR=/Users/vmishra/Desktop/gecko-dev/VM-Gecko-build
0:01.86 FOUND_MOZCONFIG=/Users/vmishra/Desktop/gecko-dev/.mozconfig
0:01.88 /Users/vmishra/Desktop/gecko-dev/client.mk:299: *** Could not find autoconf …Run Code Online (Sandbox Code Playgroud) 我想使用IndexedDB处理大量数据.太多的数据要适合内存.为此,我想使用Firefox的IndexedDB持久存储,它允许我存储超过2GB的数据(Firefox显然对非持久存储有2GB的限制).
但是,我遇到了一个问题.Firefox似乎没有对我可以存储在持久存储中的数据量施加限制.事实上,如果我让以下示例运行,它将显然运行直到磁盘已满!
示例(在线)(必须在Firefox中运行!):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Firefox IndexedDB Limit Test</title>
</head>
<body>
<script>
(function() {
'use strict';
var IDBReq = indexedDB.open('testdb', {
version: 1,
storage: 'persistent'
});
IDBReq.onupgradeneeded = function() {
this.result.createObjectStore('data');
};
var logmsg;
IDBReq.onsuccess = function() {
var DB = this.result;
var size = 0;
var next = function(i) {
var data = new Uint8Array(0xFFFF);
crypto.getRandomValues(data);
size += data.length;
logmsg = 'size: ' + size + …Run Code Online (Sandbox Code Playgroud) 我试图在Firefox 3.6上测试预取.我正在使用:
<link rel="prefetch" href="hst_galaxy.jpg"/>
Run Code Online (Sandbox Code Playgroud)
我在Firebug的Net面板中没有看到任何请求.当我查看Apache 2日志时,我只看到了页面请求,之后没有任何内容.我也没有看到预期的X-moz: prefetch标题.我还使用Wireshark检查了数据包,并且没有发送预取头.我还使用了LiveHttpHeaders(FF扩展),并且不再发送预取头.
我查看了我的about:config选项,并启用了"network.prefetch-next".
我的测试设置在Mac OS 10.5.8上.我正在使用Apache的本地安装,并从sites目录中的测试HTML文件运行它.我尝试了3种不同的域名选项:
localhost.com和randomurl.com是我在/ etc/hosts文件中配置的域.可以访问测试页面.
我访问过此页面,表示X-Moz已检测到标题.http://browserspy.dk/prefetch.php
在Firefox中,它说是的.在Chrome/Safari中它说不,这是预期的.同样,我无法检测到X-Moz使用Wireshark或LiveHttpHeaders发送的标头.在查看该页面的来源时,我确实看到了正确的<link rel="prefetch">元素.
我真的不确定我错过了什么.我已经非常彻底地测试了这个,如果我没有从Firefox中检测到任何内容并且在Apache中没有记录任何内容,我就不会看到它是如何工作的.
有没有人可以分享一些启示?
最近我在研究Firefox Add-on Builder SDK源代码,并偶然发现了这样的常量声明:
const { getCodeForKey, toJSON } = require("../../keyboard/utils");
Run Code Online (Sandbox Code Playgroud)
我可以找到有关CommonJS模块的信息,但是这项任务的部分内容会让我感到困惑,因为它必须是特定于语言的,而且我无法对其进行任何操作.
有人能指出我的一些规范/草案,解释这里发生了什么?
javascript gecko spidermonkey destructuring variable-assignment
我正在研究一个独立的守护程序可执行文件,它需要在主机上加载现有的第三方NPAPI插件.我想要做的是将生成的视图从插件渲染到纹理/表面.
它需要在Mac和Windows上运行,但由于我是一个沉重的Mac用户,我决定首先构建Mac版本.我们没有这个插件的源代码 - 这是外部供应商提供给我们的东西 - 所以它是一个黑盒实现.
在网络上,该插件的工作方式与flash非常相似.您在链接到某个mimetype(即应用程序/闪存)的网页中嵌入了一个区域,并加载了插件,而插件又会指示插件加载某个文件(想想一个SWF),然后再渲染它.
我现在正在做的是:
1. Open the library (Bundle) and extract NP_Initialize etc.
2. Call NP_Initialize -> returns the object with NPP function pointers etc
3. Call NPP_New (this calls a set of NPP functions) -> ultimately returns NPERR_NO_ERROR.
Run Code Online (Sandbox Code Playgroud)
由于NPERR_NO_ERROR是预期的响应,我假设这三个步骤已成功完成.
在NPP_New期间,插件请求Cocoa事件模型和Core Animation(或者Core Graphics,如果我为Core Animation返回false)渲染模式.
然后我打电话给:
4. NPP_SetWindow
5. Once the window is set, I load an online file with CURL, and call NPP_NewStream/WriteReady/Write and DestroyStream.
Run Code Online (Sandbox Code Playgroud)
根据我在NPAPI文档中可以找到的内容,NewStream/WriteStream/etc函数基本上将文件加载到插件的内存中,因此可以呈现它.
该插件在浏览器中支持Core Animation和Core Graphics,并且在支持NPAPI插件的浏览器中运行良好.
完成上述所有操作后,我尝试渲染到纹理,但在Core Graphics模式下,我继续使用CGContextRef从NPP_Event函数调用返回错误响应.在Core Animation模式下运行时,我使用renderInContext将纹理渲染到位图,但整个图像保持空白/透明.
这是一个很长的镜头,但有没有人有任何想法?
在 JavaScript 开发中,我经常从执行中返回一个非人为的断点:
var args = arguments;
return console.log(args); // debug
criticalProcessing(args);
Run Code Online (Sandbox Code Playgroud)
Chrome 和其他人都可以,但不幸的是在 Firefox 中调试:
从 Gecko 40 (Firefox 40 / Thunderbird 40 / SeaMonkey 2.37) 开始,如果在return语句后发现无法访问的代码,控制台中会显示警告。
Firefoxabout:config提供了相当多的标志来调整开发环境。遗憾的是,我没有找到相应的设置(也没有在其他地方找到解决方案)。
有没有办法关闭“返回语句后无法访问代码”警告?
gecko ×10
firefox ×4
webkit ×4
javascript ×3
b2g ×1
border ×1
browser ×1
cocoa ×1
css ×1
dom ×1
firefox-os ×1
firefox3.6 ×1
framebuffer ×1
html-table ×1
http-headers ×1
indexeddb ×1
linux ×1
mozilla ×1
npapi ×1
plugins ×1
prefetch ×1
return ×1
safari ×1
spidermonkey ×1
web-console ×1
web-storage ×1