小编nic*_*ckf的帖子

在jQuery中查找元素的最有效方法

如果我有一个我应用于表单元素的CSS类,例如:

<form class="myForm">
Run Code Online (Sandbox Code Playgroud)

这两个jQuery选择器中哪一个最有效,为什么?

a) $('form.myForm')

b) $('.myForm')
Run Code Online (Sandbox Code Playgroud)

optimization jquery

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

javascript聊天客户端的服务器轮询间隔

我正在为我的网站构建一个基本的小AJAX shoutbox/chat,但我不确定如何实现服务器轮询.

这是我正在考虑的基本程序流程:

  1. 用户进入页面并显示最后10条消息
  2. 要获取其他人发送的消息,客户端javascript将请求带有timestamp参数的URL(设置为客户端收到的最后一条消息的值)
  3. 服务器返回自该时间戳以来的所有消息(最多10个).

唯一的问题是轮询服务器的频率.显然,每次添加新消息时都应该进行轮询,但是当您只是阅读其他消息时,它需要自动更新.

它应该是一个设定的时间限制吗?例如:每10秒钟.或者,它会根据使用情况而有所不同吗?例如:5秒后检查.如果没有消息,请不要再检查10秒.如果仍然没有新消息,请检查15秒,然后是20,最多可能每30秒检查一次.每次检测到新消息时,都会将计时器重置为5秒并重新开始.

考虑到我们可以在线同时拥有数百名用户,我只关心在服务器上施加不必要的压力.

......或者我弄错了什么?有没有更好的方法来实现基本的JavaScript聊天?

javascript ajax

11
推荐指数
2
解决办法
7512
查看次数

在Windows命令提示符下管道数据

我需要获得一个大型(~8gb)svn存储库的备份转储.我当前的方法涉及使用svnadmin dump文件,然后使用7-Zip压缩和拆分文件.

> svnadmin dump c:\path\to\myrepo > c:\svndump.svn
> 7z svndump.svn svndump.7z      // or whatever the correct syntax is
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法在这里跳过中间人,并通过使用管道或其他东西获得svn转储数据一次性压缩?这可能吗?语法是什么?

svn backup command-line svnadmin

11
推荐指数
1
解决办法
5651
查看次数

自动填充结果应何时超时?

在文本框中进行自动完成/即时搜索时,通常不希望在每次按键后触发查找事件,而是在最后一次按键后仅X毫秒.我完全不知道如何做到这一点,并让它工作,但我想知道是否有任何适当的研究或建议,关于什么值作为超时使用?太慢,感觉迟钝,太快,效率太低.

我知道我可以自己玩这些价值观直到它感觉正确,但这只会让我觉得我的打字速度合适.

user-interface user-experience autocomplete

11
推荐指数
2
解决办法
1359
查看次数

在未聚焦的选项卡中运行时的Javascript性能

似乎最近版本的Chrome和Firefox*已经发生了变化,现在Javascript执行似乎与运行它的标签不同是目前关注的标签.

当我运行我的Javascript单元测试时,它们通常需要大约20秒才能完成,但现在,当选项卡未聚焦时,它需要超过2000秒.但奇怪的是,每个单独测试的运行时间不受影响(大多数仍然<10ms).我正在使用的测试setTimeout(0)运行器在运行每个测试之间添加一个,以便浏览器在执行时不会锁定,因此这似乎是可能的罪魁祸首.

有没有办法告诉Javascript引擎不要"deprioritise"该选项卡?很高兴能够在后台运行我的测试而不必看自己......

*对不起,我真的不在乎尝试安装旧版本以找到何时开始发生.至少,它现在正在Firefox 5.0和Chrome 12上发生.

javascript firefox google-chrome

11
推荐指数
2
解决办法
4958
查看次数

如何以编程方式设置函数的长度

length函数属性告诉'expected'参数列表有多长:

console.log((function () {}).length);  /* 0 */
console.log((function (a) {}).length); /* 1 */
console.log((function (a, b) {}).length); /* 2 etc. */
Run Code Online (Sandbox Code Playgroud)

但是,它是一个只读方法:

f = function (a) {};
alert(f.length); // 1
f.length = 3;
alert(f.length); // 1
Run Code Online (Sandbox Code Playgroud)

有没有办法以编程方式设置该长度?到目前为止我最接近的是使用Function构造函数:

f = new Function("a,b,c", "/* function body here */");
f.length; // 3
Run Code Online (Sandbox Code Playgroud)

但是,使用Function基本上是相同的eval,我们都知道它有多糟糕.我还有其他选择吗?

javascript

11
推荐指数
2
解决办法
1650
查看次数

简单的JavaScript IDE

我是JavaScript的新手,我想使用简单的基于Windows的IDE练习我的技能.在学习的同时我不想使用任何CSS或HTML.我想尽可能有单色步进,突出显示和语法检查.

例如,您可以输入您的函数,调用它并接收结果

function squareNumber(x) {
  return x*x;
}

squareNumber(5)

25
Run Code Online (Sandbox Code Playgroud)

我想要比Internet Explorer控制台更好的东西.

javascript ide

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

录制后如何取消getUserMedia指标

我正在使用recorder.jsgetUserMedia在浏览器中进行一些录音.开始录制时,用户会收到"允许此网站使用您的麦克风"提示,一旦他们点击允许,Chrome就会在选项卡的图标上添加一个指示符,以显示它正在录制:

记录指示器http://ubuntuone.com/1nBkbmc9vA313WeWtV03Kz

我的问题是,即使我的应用程序停止录制,该指示也永远不会消失.基本上,我想撤销我自己的录制权限.这可能吗?

javascript html5 google-chrome html5-audio getusermedia

11
推荐指数
1
解决办法
1524
查看次数

如何在 Typescript 中将属性覆盖为不可为空

Node 内置 IncomingMessage((req, res, next)参数中的 req 类型)的绝对类型定义已定义url为 nullable。以下是定义文件的片段:

// @types/node/index.d.ts
declare module "http" {
  export interface IncomingMessage {
    /**
     * Only valid for request obtained from http.Server.
     */
    url?: string;
  }
}
Run Code Online (Sandbox Code Playgroud)

正如评论所说,这是因为此属性仅在您从 http.Server 获取此 IncomingMessage 的实例时才有效。在其他用途​​中它不存在,因此,它可以为空。

但是,就我而言,我知道我只能从 http.Server 获取这些实例,因此我无法在没有额外保护的情况下访问该属性,这有点烦人。

import { IncomingMessage, ServerResponse } from 'http';

function someMiddleware(req: IncomingMessage, res: ServerResponse, next: Function) {
  const myStr: string = req.url; // bzzzt.
  // Argument of type 'string | undefined' is not
  // assignable …
Run Code Online (Sandbox Code Playgroud)

node.js typescript typescript-typings

11
推荐指数
4
解决办法
1万
查看次数

为什么Chrome,Firefox和IE都以不同方式呈现固定宽度的SELECT控件?

我在这个上失去了头发 ......似乎当我修改宽度为HTML SELECT控件时,它会根据浏览器的不同呈现其宽度.

任何想法如何标准化这个而不必转向多个样式表?

这是我正在使用的:

.combo
{
    padding: 2px;
    width: 200px;
}

.text
{
    padding: 2px;
    width: 200px;
}
Run Code Online (Sandbox Code Playgroud)

这是我的页面的文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)

html cross-browser

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