小编Eli*_*rey的帖子

JavaScript DEFLATE实现

是否有任何针对JavaScript的开源DEFLATE编码器实现?我需要它在客户端生成需要DEFLATE的二进制格式.

javascript algorithm deflate

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

WebRTC:匹配最近的同行

给定一个公共IP地址(对等体A)和许多其他公共IP地址列表(IPv4和IPv6地址的混合),最简单的方法是将对等体A匹配n最近对等体的IP地址而不使用对等体手动ping对方进行延迟基准测试?

我认为这可以使用BGP和一堆复杂的查询(也许涉及OSPF),但我希望可能有一个解决方案或库可以让它像下面的理论函数调用一样简单.

// `peer` is a single IP address. `peer_list` is a list of IP addresses
// get the 5 nearest peers (ordered) to `peer` from `peer_list`
nearest_peers = get_nearest_ips(peer, peer_list, 5);
Run Code Online (Sandbox Code Playgroud)

我应该只使用MaxMind的GeoIP数据库+ Haversine/Vincenty的本地实例,还是通过库(在需要时使用适当的缓存)来实现这一点是否可行?

看起来这种代码可能存在于开源的任播路由实现中,尽管我还没能找到适合这种用例的任何东西.

解决方案或建议的库不必在node.js上工作 - 任何语言都可以.

javascript p2p node.js webrtc

22
推荐指数
2
解决办法
1062
查看次数

文本在提交按钮中的位置

我的博客上的搜索提交按钮上的文本位置在Firefox 4中非常低,但不是Chrome 10或IE9.我已经尝试了几乎所有的东西,除了降低文本的字体大小之外什么也没有用,这不是最佳解决方案,因为文本太小了.

截图

Windows 7上的Firefox 4:

Firefox 4截图

Windows 7上的Google Chrome 10.0.648.204:

Google Chrome屏幕截图

相关的HTML:

<form method="get" class="searchform" action="http://eligrey.com/blog"> 
    <input type="search" placeholder="search" name="s" /> 
    <input type="submit" value="&#128269;" title="Search" /> 
</form> 
Run Code Online (Sandbox Code Playgroud)

相关的CSS规则(来自http://eligrey.com/blog/wp-content/themes/eligrey.com/style.css):

.searchform input[type="submit"] {
    font-family: "rfhb-lpmg";
    color: #ccc;
    font-size: 3em;
    background-color: #959595;
    text-align: center;
    border: 1px solid #888;
    height: 34px;
    width: 42px;
    line-height: 34px;
    -webkit-border-bottom-right-radius: 4px;
    -webkit-border-top-right-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -moz-border-radius-topright: 4px;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding-box;
    background-clip: padding-box;
    -webkit-transition-property: border, background-color, box-shadow;
    -webkit-transition-duration: 0.2s;
    -moz-transition-property: border, …
Run Code Online (Sandbox Code Playgroud)

html css

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

创建DOM NodeList

我正在实现ECMA-357附件A中描述的所有可选E4X功能,而我在实现domNodeList(§A.1.2和§A.2.2)时遇到了问题.我如何创建自己的NodeList对象?

即使我创建了一个新的XMLDocument并将每个节点的domNode()表示附加到XMLList中,我仍然看不到如何创建包含所有内容的NodeList,因为通常会排除注释和处理指令.

javascript e4x dom

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

在Google Chrome中指定blob编码

以下代码(供应商规范化)工作得很好,并在Firefox 8中显示"➀➁➂测试",但在谷歌浏览器中显示"“â,â€,测试".有没有办法在使用文件系统API将文件写入临时文件系统时保留Google Chrome中的blob编码?

var bb = new BlobBuilder;
bb.append("??? Test");
var b = bb.getBlob("text/plain;charset=UTF-8");
var url = URL.createObjectURL(b);
open(url);
Run Code Online (Sandbox Code Playgroud)

javascript encoding google-chrome fileapi

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

请求URL后推送数据

鉴于,当用户/foo在我的服务器上请求时,我发送以下HTTP响应(不关闭连接):

Content-Type: multipart/x-mixed-replace; boundary=-----------------------

-----------------------
Content-Type: text/html

<a href="/bar">foo</a>
Run Code Online (Sandbox Code Playgroud)

当用户进入/bar(将发送204 No Content以便视图不会更改)时,我想在初始响应中发送以下数据.

-----------------------
Content-Type: text/html

bar
Run Code Online (Sandbox Code Playgroud)

如何从初始响应中获得第二个触发此请求的请求?我打算可能创建一个花哨的[引擎支持multipart/x-mixed-replace(目前只有Gecko)] - 只有电子邮件webapp才能在没有任何JavaScript的情况下执行服务器推送和Ajax效果,只是为了好玩.

python wsgi

8
推荐指数
1
解决办法
1668
查看次数

生成器表达式和数组理解中的解构赋值

为什么for ([] in object);做工精细,但[void 0 for ([] in object)]还是(void 0 for ([] in object))抛出无效左手分配的语法错误?

例如,我希望以下代码可以工作,但它没有(由于语法错误,甚至没有完成断言):

let (
  i = 0,
  iterable = {__iterator__:function() { var i = 5; while (i--) yield i; } }
) {
  for ([] in iterable) i++;
  console.assertEquals([void 0 for ([] in iterable)].length, i);
}
Run Code Online (Sandbox Code Playgroud)

javascript

7
推荐指数
1
解决办法
635
查看次数

解析CSS背景图像

我如何解析background-image支持多个值的CSS ,这些值可能是none和多个以逗号分隔的参数的函数(例如url()linear-gradient())?我似乎无法使用正则表达式正确执行此操作.一个好的测试用例如下:

  linear-gradient(top left, red, rgba(255,0,0,0))
, url(a)
, image(url(b.svg), 'b.png' 150dpi, 'b.gif', rgba(0,0,255,0.5))
, none
Run Code Online (Sandbox Code Playgroud)

我想要转换为以下数组:

[
      "linear-gradient(top left, red, rgba(255,0,0,0))"
    , "url(a)"
    , "image(url(b.svg), 'b.png' 150dpi, 'b.gif', rgba(0,0,255,0.5))"
    , "none"
]
Run Code Online (Sandbox Code Playgroud)

javascript css regex

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

@ font-face无法在Android浏览器中使用

除了和(来自http://oftn.org/css/global.css)之外,以下@font-face声明在每个主要浏览器中都能正常工作:(including Chrome for Android)Android BrowserFirefox for Android

@font-face {
        font-family: "OFTN Aller";
        src: url("../fonts/OFTN-Aller-Bold.woff") format("woff"),
             url("../fonts/OFTN-Aller-Bold.ttf") format("truetype");
        font-weight: bold;
        font-style: normal;
}
@font-face {
        font-family: "OFTN Aller";
        src: url("../fonts/OFTN-Aller.woff") format("woff"),
             url("../fonts/OFTN-Aller.ttf") format("truetype");
        font-weight: normal;
        font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

我能做错什么?

截图

Android 4.0.3浏览器:

oftn.org的屏幕截图

Windows 7上的Chrome 19:

oftn.org的屏幕截图

Windows 7上的Firefox 13:

oftn.org的屏幕截图

css android google-chrome font-face

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

获取无效的形式参数

这是一个SO挑战

我想知道有人如何在函数中获得无效的形式参数,而没有arguments对象模拟不知道参数解构赋值的格式.这不是ECMAScript问题,仅适用于JavaScript.

mySolution无法访问argumentstest.您将获得一个args包含参数名称的数组.必须返回一个对象,该对象具有每个参数的属性,该参数是传递给函数的参数.总之,results[prop]必须=== test[prop].您的解决方案不应该依赖于错误或安全漏洞,因为它们将来可能不存在.我想到的这个问题的解决方案不依赖于任何错误.

(function () {
    function mySolution ({
        var,
        this,
        function,
        if,
        return,
        true
    }) {
        // prohbit reference to arguments and the test object
        var test = arguments = null,

        args = ['var', 'this', 'function', 'if', 'return', 'true'],
        results = {};

        // put your solution here

        return results;
    };
    var test = {
        "var"     : {},
        "this"    : {},
        "function": {},
        "if"      : {}, …
Run Code Online (Sandbox Code Playgroud)

javascript parameters

5
推荐指数
1
解决办法
2197
查看次数