小编Jul*_*ien的帖子

如何在JavaScript或jQuery中规范化HTML?

标签可以有多个属性.属性在代码中出现的顺序无关紧要.例如:

<a href="#" title="#">
<a title="#" href="#">
Run Code Online (Sandbox Code Playgroud)

如何在Javascript中"规范化"HTML,因此属性的顺序始终相同?我不关心选择哪个顺序,只要它总是相同的.

更新:我最初的目标是更容易区分(在JavaScript中)2个HTML页面,略有不同.由于用户可以使用不同的软件来编辑代码,因此属性的顺序可能会发生变化.这使得差异太冗长.

答案:嗯,首先要感谢所有答案.是的,这是可能的.这就是我成功的方法.这是一个概念证明,它当然可以优化:

function sort_attributes(a, b) {
  if( a.name == b.name) {
    return 0;
  }

  return (a.name < b.name) ? -1 : 1;
}

$("#original").find('*').each(function() {
  if (this.attributes.length > 1) {
    var attributes = this.attributes;
    var list = [];

    for(var i =0; i < attributes.length; i++) {
      list.push(attributes[i]);
    }

    list.sort(sort_attributes);

    for(var i = 0; i < list.length; i++) {
      this.removeAttribute(list[i].name, list[i].value);
    }

    for(var i = 0; i < list.length; i++) { …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery html-parsing

84
推荐指数
5
解决办法
7万
查看次数

HTML表格:保持列的宽度相同

我有一个包含几组列的表.该表比我的页面大,所以我有一个控件来显示/隐藏其中一些组以适应页面.初始表看起来很好:所有列在组内的宽度大致相同.但是当我隐藏一个组时,列不再是相同的宽度,而且看起来很糟糕.

示例:http://www.reviews-web-hosting.com/companies/apollohosting.html(链接断开)

到目前为止,该表看起来很好.点击>>."电子商务专业版"下的第一栏比"电子商务专业版"下的其他专栏要宽得多,看起来很奇怪.点击<<,这次"Value"下的第一列太宽.至少在Firefox上.

我试过用

<colgroup><col /><col span="5" />...
Run Code Online (Sandbox Code Playgroud)

但没有运气.如果我将col设置为style ="display:none",则仍会显示列集.

任何HTML/CSS提示,以保持列具有相同的宽度与组?

编辑:

  • 要隐藏列,我必须使用可见性:崩溃
  • 它似乎现在调整好,我不知道为什么

html css

77
推荐指数
2
解决办法
13万
查看次数

RabbitMQ:主题交换的持久消息

我是RabbitMQ的新手.

我已经建立了一个'主题'交换.消费者可以在发布者之后开始.我希望消费者能够接收在他们启动之前已经发送的消息,而这些消息还没有被消费.

交换使用以下参数设置:

exchange_type => 'topic'
durable => 1
auto_delete => 0
passive => 0
Run Code Online (Sandbox Code Playgroud)

使用此参数发布消息:

delivery_mode => 2
Run Code Online (Sandbox Code Playgroud)

消费者使用get()从交换中检索消息.

不幸的是,任何客户端启动之前发布的任何消息都将丢失.我使用了不同的组合.

我想我的问题是交换机没有保留消息.也许我需要在发布者和队列之间有一个队列.但这似乎不适用于通过密钥路由消息的"主题"交换.

知道我该怎么做.我使用Perl绑定Net :: RabbitMQ(应该无关紧要)和RabbitMQ 2.2.0.

amqp rabbitmq

64
推荐指数
2
解决办法
2万
查看次数

如何在插值字符串中将Perl变量与文本分开?

考虑:

print "    $foo", "AAAAAAAA", $foo, "BBBBBBBB";
Run Code Online (Sandbox Code Playgroud)

假设我想将此代码用于print <<EOF;:

print <<EOF;
    $fooAAAAAAAA$fooBBBBBBBB";
EOF
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为Perl认为我有一个名为的变量$fooAAAAAAAA.print <<当我进行长时间的打印测试时,如何轻松使用这些线条?

variables perl interpolation

37
推荐指数
1
解决办法
2万
查看次数

快速Javascript表格分类器?

我有一个约250行的表(可能在6个月内翻倍),此页面上有50列(警告:IE速度慢).我正在使用JQuery Table分拣机.但是IE 7的速度太慢了:它会对慢速javascript发出警告,并询问我是否要阻止它.我花了很多时间来提高性能,所以它适用于所有其他浏览器:

  • 仅排序文本和数字
  • 除了2个解析器之外的所有解析
  • 创建了一个包含所有值的额外表,比为每个单元格执行node.textContent()要快得多
  • 删除小写,修剪等

我的javascript版本就在这里.我想我不能再优化它了.我正在寻找表分拣机的另一个快速实现,或者我可能忘记的任何好的优化,以便IE 7不会抱怨执行时间.

编辑:我已禁用35列的排序,对于IE来说它仍然太长

javascript jquery

13
推荐指数
1
解决办法
7509
查看次数

如何使用PhantomJS进行闪存?

我正在使用PhantomJS 1.4.1(支持Flash中的插件,如1.5中删除)--qt-4.8.

我无法在PhantomJS中启用Flash.我用的是--load-plugins=yes选项.我设置了QTWEBKIT_PLUGIN_PATH包含libflashplayer.so的所有路径:

QTWEBKIT_PLUGIN_PATH=/usr/lib/browser-plugins:/usr/lib/flash-plugin:/usr/lib/mozilla/plugin:/usr/lib64/flash-plugin:/usr/lib64/mozilla/plugins:/usr/lib64/opera/plugins
Run Code Online (Sandbox Code Playgroud)

我可以看到stracePhantomJS确实发现libflashplayer.so:

stat("/usr/lib64/opera/plugins/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
lstat("/usr/lib64/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
stat("/usr/lib64/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
stat("/usr/lib64/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
stat("/usr/lib/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=17047372, ...}) = 0
[..]
Run Code Online (Sandbox Code Playgroud)

在同一台服务器上,Flash可以在Firefox 10.0中正常运行

不知道幻影为何不被PhantomJS使用?

flash phantomjs

12
推荐指数
1
解决办法
9453
查看次数

是否可以在无头模式下使用CEF python进行截图?

我无法得到关于CEF python是否可以在纯无头模式(没有Xvfb或其他)中使用来获取网页截图的明确答案.我知道offScreen选项.但我没有看到任何设置CEF的大小或视口的选项.根据我的不完整测试,如果没有使用X库(例如GTK或QT),CEF不会加载URL.

python chromium-embedded

10
推荐指数
1
解决办法
537
查看次数

如何在Nginx中使用fastcgi_next_upstream

我想要一个Web服务器(nginx)和2个与后端相同的应用程序的FastCGI实例.如果第一个请求失败,我们的想法就是将请求转发给第二个请求.

显然,我需要使用upstream和fastcgi_next_upstream.但我找不到nginx.conf文件的工作示例.有没有人有这样的例子?

redundancy fastcgi nginx

9
推荐指数
1
解决办法
8606
查看次数

DBIx :: Class是否具有透明缓存?

在C#/ .Net世界中,有一些ORM,如NHibernate或ActiveRecord,包括透明缓存:数据库更新透明地复制到缓存,对象在可用时直接从缓存中检索等(通常使用memcached).

在带有DBIx :: Class的 Perl中,它看起来不像透明缓存.我错过了什么?这似乎是一个普遍的需求,我很惊讶我在CPAN或谷歌上找不到任何东西.

perl caching dbix-class

8
推荐指数
2
解决办法
2173
查看次数

对象内部的XMLHttpRequest:如何保持对"this"的引用

我从一个javascript对象里面做了一些Ajax调用:

myObject.prototye = {
  ajax: function() {
    this.foo = 1;

    var req = new XMLHttpRequest();
    req.open('GET', url, true);
    req.onreadystatechange = function (aEvt) {  
      if (req.readyState == 4) {  
        if(req.status == 200)  {
          alert(this.foo); // reference to this is lost
        }
      }
  }
};
Run Code Online (Sandbox Code Playgroud)

在onreadystatechange函数内部,这不再引用主对象,因此我无法访问this.foo.我可以在XMLHttpRequest事件中保留对主对象的引用吗?

javascript ajax

8
推荐指数
2
解决办法
3041
查看次数