小编Dag*_*bit的帖子

10
推荐指数
3
解决办法
2214
查看次数

URL中的UTF-8字符

我偶然发现了以下文章:

http://www.josscrowcroft.com/2011/code/utf-8-multibyte-characters-in-url-parameters-%E2%9C%93/

本文讨论在URL中使用UTF-8字符.

我想知道使用它是否安全.

我和撰写文章的人基本上有相同的设置(浏览器+操作系统).所以我无法真正测试它.

那么......在URL中使用UTF-8字符是否安全?

还有奖金问题:如果安全的话,为什么没有多少网站使用它?

html url utf-8

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

为什么函数声明会覆盖全局对象的不可写属性?

像这样设置属性描述符:

Object.defineProperty(window, 'someFunction', {
    value: function() { alert('safe'); },
    writable: false,
    enumerable: false,
    configurable: false
});
Run Code Online (Sandbox Code Playgroud)

......据我所知,应该使不可写的someFunction财产window.它适用于我期望的函数表达式,无论函数是否直接赋值给对象属性... 小提琴

window.someFunction = function() { alert('boom!'); }
someFunction(); // safe
Run Code Online (Sandbox Code Playgroud)

...或分配给全局变量:小提琴

var someFunction = function() { alert('boom!'); }
someFunction(); // safe
Run Code Online (Sandbox Code Playgroud)

但是,它似乎不适用于函数声明:小提琴

function someFunction() { alert('boom!'); }
someFunction(); // boom!
Run Code Online (Sandbox Code Playgroud)

这种行为是故意的吗?它背后的原因是什么?这记录在哪里?或者我只是犯了一些愚蠢的错误?


顺便说一句,我正在使用Chromium 17来测试它.严格模式似乎没有任何区别.

javascript function global-variables propertydescriptor ecmascript-5

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

clearRect不起作用

我正在用javascript做一个Pong游戏,以便学习制作游戏,我想让它面向对象.

我无法clearRect上班.所有这一切都是画出一条长得更长的线.这是相关代码:

function Ball(){
    this.radius = 5;
    this.Y = 20;
    this.X = 25;
    this.draw = function() {
        ctx.arc(this.X, this.Y, this.radius, 0, Math.PI*2, true);
        ctx.fillStyle = '#00ff00';
        ctx.fill();
    };
}

var ball = new Ball();

function draw(){
    player.draw();
    ball.draw();
}

function update(){
    ctx.clearRect(0, 0, 800, 400);
    draw();
    ball.X++;
}
Run Code Online (Sandbox Code Playgroud)

我试图把ctx.clearRect部分放在draw()ball.draw()函数中,它不起作用.我也试过fillRect白色,但它给出了相同的结果.我怎样才能解决这个问题?

javascript oop html5 canvas

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

选择器的部分和部分的正确术语和单词

用逗号分隔的CSS选择器部分的正确术语是什么?

    body.foo .login , body.bar .login { ... }
/*                  |
           Part 1   |  Part 2         */
Run Code Online (Sandbox Code Playgroud)

在这些部分,什么是部分术语通过组合子分隔(空格,+,>,等)?

    body.foo .login , ... { ... }
/*          |
   Part 1   |   Part 2    */
Run Code Online (Sandbox Code Playgroud)

css terminology css-selectors

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

haxe没有全局命名空间污染的javascript?

此问题仅适用于Haxe版本<2.10

我已经了解haxe一段时间了,但直到昨天才真正玩过它.好奇,我决定将showdown.js,一个markdown.pl的javascript端口移植到hax​​e.这非常简单,它生成的javascript似乎运行良好(编辑:如果你想看到它在行动,请在这里查看).

但是,我注意到生成的代码在全局命名空间中转储了大量的东西......更糟糕的是,它通过在不使用关键字的情况下为未声明的标识符分配值来实现它var,所以即使你包装整个事物它们也是全局的有一个封闭.

例如...

if(typeof js=='undefined') js = {}
...
Hash = function(p) { if( p === $_ ) return; {
...
EReg = function(r,opt) { if( r === $_ ) return; {
...
Run Code Online (Sandbox Code Playgroud)

我设法用sed清理大部分内容,但我也被这样的东西困扰:

{
 String.prototype.__class__ = String;
 String.__name__ = ["String"];
 Array.prototype.__class__ = Array;
 Array.__name__ = ["Array"];
 Int = { __name__ : ["Int"]}
 Dynamic = { __name__ : ["Dynamic"]}
 Float = Number;
 Float.__name__ = ["Float"];
 Bool = …
Run Code Online (Sandbox Code Playgroud)

javascript haxe global-variables

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

简单的JavaScript代码崩溃了Firefox

在Firebug的控制台中

var a = [];
a[0] = a;
Run Code Online (Sandbox Code Playgroud)

崩溃的火狐!

为什么?

编辑:

  1. 这个语句在逻辑上是正确的,并且引用递归没有什么不好.因此,它是浏览器 Firebug中的一个错误.
  2. 适用于Chrome和Opera.
  3. 我正在使用Firebug和Firefox的最新官方版本

编辑2:它在Firebug控制台崩溃,并在本机Firefox Web控制台中工作

javascript crash firefox firebug

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

在不使用stderr的情况下将stdout重定向到文件后写入终端?

我有两个shell脚本,一个用作主"程序",另一个用作"库".

在"程序"的几个地方,我会做类似的事情log "$thing" >> "$logfile",其中log是"库"中定义的函数.

# program.sh

logfile="log.txt"
stuff="hahah heheh hoho"

. library.sh 

for thing in $stuff; do
  log "$thing" >> "$logfile"
done
Run Code Online (Sandbox Code Playgroud)

我的问题:有没有办法将函数的一些输出重定向回终端而不使用stderr

# library.sh

log () {

  # This gets written to the log
  echo "`date --rfc-3339=seconds`: $1"

  # How to write this to the terminal *without* using stderr?
  echo "Info: Message written to log." >&2

}
Run Code Online (Sandbox Code Playgroud)

我想避免使用stderr因为在我的实际程序中,有一个选项可以将错误重定向到文件,但是我想要发送到终端的消息是信息性的,而不是错误,应该始终显示在终端上.

bash shell redirect stdout

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

更好的画布运动模糊

之前有人问过,但是接受的解决方案对我来说不起作用(字面意思是,在链接的演示中没有任何东西对我来说模糊),而且它有点像涉及两个画布元素的kludge.

我目前正在使用"穷人"的运动模糊技术,它主要涉及将源图像一遍又一遍地对画布进行布局,并在每次迭代后丢弃与顶部背景颜色相同的半透明矩形.

这是一个演示:http://jsfiddle.net/YmABP/

正如您所看到的,它可以很好地适用于图像的边缘,但图像的内部部分根本不会模糊,并且对于具有部分透明度的图像看起来很糟糕.

是否有更好的运动模糊技术?理想情况下,我希望能够做类似的事情context.drawImage并传递一个不透明度参数,但AFAIK就不存在了.某些图像可能托管在第三方域中,因此我无法访问各个像素数据.如果它归结为它,我们可以将图像拉到我们的服务器上,然后我可以遍历每个像素并将其绘制为半透明的小矩形,但这看起来有点矫枉过正.

有没有人知道更好的运动模糊解决方案,最好是我可以用于远程图像?

我怀疑这很重要,但就我目前的目的而言,事情只会向上移动.

javascript canvas motion-blur

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

Javascript插件设计模式就像jQuery

有人可以在javascript中写下一个非常简单的基本示例来概念化(并希望让我理解)jQuery插件设计模式是如何完成的以及它是如何工作的?

我对如何为jQuery创建插件不感兴趣(所以在这里根本没有jQuery代码).我对一个简单的解释(可能有一些Javascript代码)感兴趣,以解释它是如何完成插件概念的.

Plz不回复我去读jQuery代码,我试过,但我太复杂了,否则我不会在这里发一个问题.

谢谢!

javascript plugin-pattern

7
推荐指数
2
解决办法
2005
查看次数