标签: gecko

从Gecko和Webkit中的选择(范围)中检索父节点

我在使用使用"createLink"命令的所见即所得编辑器时尝试添加属性.我认为在浏览执行该命令后返回创建的节点是微不足道的.

事实证明,我只能在IE中获取这个新创建的节点.有任何想法吗?

以下代码演示了此问题(底部的调试日志显示每个浏览器中的不同输出):

var getSelectedHTML = function() {
    if ($.browser.msie) {
        return this.getRange().htmlText;
    } else {
        var elem = this.getRange().cloneContents();
        return $("<p/>").append($(elem)).html();
    }
};

var getSelection = function() {
    if ($.browser.msie) {
        return this.editor.selection;
    } else {
        return this.iframe[0].contentDocument.defaultView.getSelection();
    }
};

var getRange = function() {
    var s = this.getSelection();
    return (s.getRangeAt) ? s.getRangeAt(0) : s.createRange();
};

var getSelectedNode = function() {
    var range = this.getRange();
    var parent = range.commonAncestorContainer ? range.commonAncestorContainer : 
                    range.parentElement ? range.parentElement(): 
                    range.item(0);
    return parent;
}; …
Run Code Online (Sandbox Code Playgroud)

javascript gecko webkit

6
推荐指数
2
解决办法
8212
查看次数

打印样式表 - 打印页面宽度与Webkit与Gecko/IE不同

在Safari/Chrome中打印下面的页面时,内容(页面上的所有内容,基本上)都会被压缩到页面的左侧,大约是页面宽度的60%.

但是,在FireFox和IE 7中,打印页面将内容显示为全宽(并且看起来非常好,imo).我将所有布局元素的大小调整为100%宽度(使用!important以确保它们正在应用),并且Safari/Chrome仍然无法打印出整个宽度.

这是我正在引用的页面:http: //archstl.org/commoffice/press-release/2010/local-catholic-principal-honored-fi

这里是Webkit(第一个)与Gecko(第二个)之间差异的图像: Webkit的打印渲染http://img.skitch.com/20100518-cgr6t6edwyr3x7p55f5eewqy6r.jpg Gecko的打印渲染http://img.skitch.com/ 20100518-bxgxnyd3uecu5cp2ba2whnp3uy.jpg

css printing internet-explorer gecko webkit

6
推荐指数
1
解决办法
1755
查看次数

-moz-background-clip:*文本*在Mozilla中

有没有一种很好的方法在Mozilla中实现它?我使用-webkit-background-clip:text;在Webkit中成功完成了它.我一直试图将它实现到Firefox中,但没有成功.MDN将其列为-moz-background-clip,但没有'text'属性.最终确定的CSS3属性是后台剪辑,但是我无法找到"text"是否是跨引擎的有效选项,或者它是否仅仅是webkit.在此先感谢您的澄清!

html gecko mozilla css3

6
推荐指数
1
解决办法
5818
查看次数

由Gecko和由Webkit提供支持的浏览器之间的基本差异有哪些?

我想知道Gecko和Webkit支持的浏览器之间的基本差异? - 他们呈现的方式有什么不同吗? - 他们用于渲染的机制有何不同?

还有其他差异吗?

browser firefox gecko webkit google-chrome

6
推荐指数
1
解决办法
2835
查看次数

在WebKit中有效循环大量固定位置图像的最佳方法是什么?

我正在为我的家人在一个小网站上工作.我想做的其中一件事就是制作一个基本的'制作'定格动画视频.我可以组装它并将其上传到Vimeo或其他东西,但我认为这是一个使用HTML,CSS和Javascript的绝佳机会.

我已经完成了所有风格,我的JS正在工作等等,除了它在Chrome和Safari中表现得非常糟糕.有趣的是,它在Firefox中运行良好,我还没有在IE中支持它.我希望能够812每秒帧数的方式播放音乐,由于这个原因,我还没有费心去尝试.糟糕的表现不是那么的.目前我已大致3 fps使用Firefox(可接受,但不是我想要的),而在Chrome和Safari中,我大致得到了.6795 fps.

运行Chrome Profiler时,我得到以下(相关)输出.

99.96%   99.96%     (program)
0.03%    0.03%      (garbage collector)
0.01%    0.01%      script.js:5:nextSlide
Run Code Online (Sandbox Code Playgroud)

我之前从未使用过Profiler,但我相信这表明我的JS不是那么难以达到的性能.

我发布了一个测试页面,记录了您可以通过Chrome和Firefox访问的性能差异.

我还发现这似乎与循环的图像有关.虽然Chrome仍然比Firefox更耗电,但在Chrome和Firefox中循环使用不同的,更简单的图像似乎也能正常工作.

作为至少这个结论的进一步证明,虽然这是完全不可接受的,但是在运行图像之后,这里将进行演示convert -compress JPEG -quality 1.它们的循环效率更高,但质量当然很糟糕.

我在Chrome(16.0.912.63),Safari(5.1.2 (6534.52.7)),WebKit nightly(Version 5.1.2 (6534.52.7, r102985))和Mobile Safari(latest as of 2011/12/28)中运行了这些测试页面,只有Mobile Safari和FireFox一样.桌面浏览器在MacBook Pro上进行了测试.

2.7 GHz Intel Core i7
8 GB 1333 MHz DDR3
Run Code Online (Sandbox Code Playgroud)

有趣的是,iPad 2上的Mobile Safari在渲染测试页时的性能与FireFox相同.虽然Mobile Safari基于WebKit,但在这种情况下它的表现完全不同.

降低setTimeout …

performance firefox gecko webkit google-chrome

6
推荐指数
2
解决办法
531
查看次数

在大屏幕上修复FireFox与Chrome中的网站大小

似乎Gecko,Trident和Webkit在高分辨率屏幕上显示不同的网页显示方式.像Chrome和新Opera这样的Webkit浏览器会缩小页面以匹配屏幕的像素分辨率.但是,这可能会使小文本难以阅读.

另一方面,Firefox和Internet Explorer似乎有一些默认大小,如果分辨率更大,他们会假装屏幕具有更低的分辨率,而是使用额外的像素来增强抗锯齿.

现在的问题是:如何在这些不同的浏览器中获取我的网站大小?我的1920x1080显示器的差异大约是20%(您必须将Webkit浏览器缩放到正常大小的120%以匹配其他浏览器中的视图)

是否有一些CSS黑客滥用@viewport或其他方式来确保页面在浏览器中看起来相同?

css size gecko webkit viewport

6
推荐指数
1
解决办法
7660
查看次数

使用Blink作为前端布局引擎 - 从哪里开始?

我想使用Blink(或Webkit,Gecko,KHTML,......任何类似的布局引擎;我不挑剔)作为用于从C++程序渲染结构化数据的布局引擎.我希望能够将函数绑定到DOM事件,以响应用户交互.

换句话说,我不想使用HTTP协议,Javascript,甚至是图像资源的URI(我计划将数据库中的图像和视频内容直接传送到DOM中,假设可能).我只想要一个布局引擎,让我通过C++函数调用从头开始组装DOM树,让我将函数指针绑定到用户交互事件.

我在查找有关如何执行此操作的信息时遇到了很多麻烦.很多信息似乎都集中在更高级别的Web浏览器上,比如在应用程序中嵌入功能齐全的Web浏览器框架.我不知道是否有某种浏览器引擎的"小子集"在那里,我可以使用,而且可能是什么上手最快/最简单的方法.

c++ linux gecko webkit blink

6
推荐指数
0
解决办法
898
查看次数

现代浏览器如何有效地进行平铺渲染(特别是在Direct2D中)?

这个问题与浏览器如何将整个页面呈现为平铺图像有关(而不是在页面中呈现图像.)我最感兴趣的是内存成本.

我的理解是,像Chrome这样的浏览器将布局整个页面,但在小方块中根据需要渲染它的部分.当用户滚动页面时,仅呈现不存在的图块.平铺生成通常发生在后台线程中,但此问题与线程无关.

所以问题是,这种方法的总内存使用量是多少?

我们假设屏幕是1024x768,并且图块是64x64像素.所以屏幕是16x12瓷砖.此外,我假设每个图块是每像素32位,Direct2D是渲染平台,Direct2D SwapChainPanel用于性能.

在给定的渲染周期中,可能只渲染总(16x12)个图块的一小部分.但是,这个数字可能不止一个.因此

  1. 在我看来,1024x768的临时位图最方便渲染当前无效的图块.
  2. 然后将有效部分复制到大小为64x64的实际图块位图上,以便在下一步和将来的渲染周期中使用.
  3. 要渲染的最终位图是通过blitting相应的tile来组成的,其中一些可能是由较早的渲染周期生成的,而另一些则是在此渲染周期中.最终的位图也是1024x768.

因此,除了图块之外,似乎还需要两个全屏尺寸(1024x768)的32bpp位图.

问题:

  1. 浏览器实际上是每像素使用32位还是更低?
  2. 是否需要上面的步骤(3),或者有没有方法直接渲染瓷砖而没有最终的位图?
  3. 是否有任何额外的主内存分配,我可能错过了(例如通过GPU)?

中间副本的数量是一个微妙的,需要仔细考虑,所以我真的很感激准确的答案.请不要猜测.

browser gecko webkit tiles direct2d

6
推荐指数
1
解决办法
291
查看次数

如何在Xvfb上运行无头Firefox

我正在尝试使用geckodriver运行webdriver.我已经安装了selenium gecko,firefox和python27.我的文件夹有脚本和geckodriver.

什么时候从centOS运行命令python script.py它说

selenium.common.exceptions.WebDriverException: Message: Failed to start browser: permission denied
Run Code Online (Sandbox Code Playgroud)

以下是我使用的脚本:

#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('/usr/local/firefox')
display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.Firefox(firefox_binary=binary)

browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()
Run Code Online (Sandbox Code Playgroud)

在你问之前,当我跑步时,whereis firefox我得到了firefox: /usr/local/bin/firefox /usr/local/firefox

编辑:

在我运行sudo yum -y install firefox Xvfb libXfont Xorg了python scipt 之后,我在geckdriverlog上遇到错误说:

XPCOMGlueLoad error for file /usr/local/firefox/libxul.so:
libdbus-glib-1.so.2: cannot open shared object file: No such file or directory …
Run Code Online (Sandbox Code Playgroud)

selenium gecko centos amazon-web-services selenium-webdriver

6
推荐指数
1
解决办法
891
查看次数

6
推荐指数
1
解决办法
2154
查看次数