小编Dee*_*ter的帖子

为什么维基百科在其URL片段中使用修改后的百分比编码?

我注意到Wikipedia使用百分比编码作为URL的路径部分,但将%字符转换.为#fragment.

例如,在俄罗斯的"俄罗斯"页面上,第2部分(История)的URL 是

http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F#.D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F

代替

http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F#%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F

对于id/name,两者都不是有效的HTML <5令牌,因为令牌必须以[A-Za-z]开头.HTML5 目前声明您可以使用除空格之外的任何字符中的至少一个(因此您根本不需要编码),但维基百科不是HTML5.

那么,为什么维基百科使用这个方案呢?

url fragment-identifier url-design percent-encoding

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

JavaScript 伪随机序列生成器

我需要在给定初始种子的情况下生成确定性(即可重复)伪随机数序列,并从该序列中选择第 n 个项目。

如果 JavaScript 的随机函数是可播种的,我可以这样做:

function randomNth(seed, seq)
{
    var r;
    Math.randomSeed(seed);
    for (var i = 0; i++ < seq; i++)
    {
        r = Math.random();
    }
    return r;
}
Run Code Online (Sandbox Code Playgroud)

然而,事实并非如此,替代性的可种子 PRNG 看起来有点慢;要求第 250 个号码的费用会很高。

我认为哈希就是我想要的,也许类似,md5(seed + seq) % max但 JavaScript 没有 md5() ,如果我在代码中这样做,可能有更好的哈希选择。

我想要一个函数

x = randomNth(seed, seq, maxVal) // x is int && x >= 0 && x < maxVal

或者,理想情况下

x = randomNth(seed, seq) // x >= 0 && x < 1, same …

javascript random hash prng node.js

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

为HTML输入元素中的每个实际更改触发一次处理程序

我想触发事件处理程序,一旦每各实际变化的输入字段.例如,要验证(按键)输入信用卡号码(必须在每次更改时进行更改,因此解赎/限制不是答案).

我不能input单独使用,因为IE9不会从退格键或剪切/删除触发此事件.

我无法keyup单独使用,因为这不能处理鼠标的变化(例如粘贴).

我不能使用,change因为这只会触发blur.

我能做到,$('input').bind('input keyup', handler)但这会在大多数情况下触发两个不同的事件.假设处理程序很昂贵并且运行它两次是不可接受的.

我可以包装处理程序,以便它只在当前值与上次检查时不同时运行但是有更好的方法吗?

html javascript jquery dom-events

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