小编pim*_*vdb的帖子

Javascript Regexp搜索和替换

如何使用javascript regexp进行不区分大小写的全局搜索并使用以下模式替换字符串:

[media id="5"] 要么 [Media id=5]

并完全替换为:

http://someurl/?somevar=THE_ID_FROM_THE_PATTERN
Run Code Online (Sandbox Code Playgroud)

所以基本上,这样的事情:

var mystring = '<img src="[media id=5]" />';
Run Code Online (Sandbox Code Playgroud)

应转换为:

var newstring = '<img src="http://someurl/?somevar=5" />';
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

WebSockets握手后Chrome会断开连接

我试图让一个简单的WebSocket示例在我的机器上工作(localhost),我得到JavaScript和C#运行得很好并且连接,除了Chrome握手后断开连接.

我整个上午都在搜索,我认为它与相同的域策略有关,正如另一个"问题"所示,我已将浏览器更新到最新版本(12.xxx).

但是,我无法找到解决问题的方法.

我在C#端使用:

ConnectionOrigin = "http://localhost:8080";
ServerLocation = "ws://localhost:8181/test";
Run Code Online (Sandbox Code Playgroud)

我使用从磁盘直接打开的普通HTML文件(file:///在URL栏上)运行JavaScript .我也尝试过使用XAMPP在本地托管它,但我总是遇到同样的问题.

附加了C#程序的日志输出:

   New connection from 127.0.0.1:8181 requested. Handshaking ...
Reading handshake ...
GET /test HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8181
Origin: null
Sec-WebSocket-Key1: R 506   I   2D }6 qFB  G0`@88J? 4
Sec-WebSocket-Key2: y  20   8403!24  L 5 8

Sending handshake ...
HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
WebSocket-Origin: http://localhost:8080
WebSocket-Location: ws://localhost:8181/test


New connection from 127.0.0.1:8181 established.
http://localhost:8080
Data …
Run Code Online (Sandbox Code Playgroud)

c# google-chrome websocket

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

为什么'(function a(){})'没有把'a'放到全局对象中?

回答另一个问题时,我正在使用此模式递归调用函数:

(function() {
    // ...
    if(should_call_again) arguments.callee();
})();
Run Code Online (Sandbox Code Playgroud)

哪个有效.我得到了反馈,命名函数也有效:

(function func() {
    // ...
    if(should_call_again) func();
})();
Run Code Online (Sandbox Code Playgroud)

然而,这种技术,window.funcundefined,里面传来一个让我吃惊.

如果我简单地说,我的问题是:为什么以下是真的?

function a() {}
typeof window.a; // "function"

(function b() {})
typeof window.b; // "undefined"
Run Code Online (Sandbox Code Playgroud)

b内部 仍然可以访问b.所以它似乎( )创建了另一个范围,但情况并非如此,因为只有函数创建另一个范围,而我只是将其包装在内部( ).

那么为什么包装函数( )不将函数放入全局对象?

javascript scope global window function

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

更改输入值,同时仍允许用户键入

是否可以使用 JavaScript 或 jQuery 在用户键入时更改文本输入字段的内容?

例如,键入a + up会将 更改aå,同时将输入光标保持在同一位置。

html javascript jquery input

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

为什么jQuery是一个轻量级的库?

jQuery现在很受欢迎,其中一个原因或加分是它被认为是一个非常轻量级的库.我的问题是究竟是什么使它成为一个lightweigt图书馆?它是代码编写的方式还是事件处理机制或者它与DOM有关?

另外,与使用普通Javascript(例如更流畅的动画效果)相比,使用jQuery的任何Web应用程序的性能要好得多.

javascript jquery

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

JavaScript encodeURIComponent与PHP ulrencode

它们之间的区别在于PHP urlencode编码空格+而不是%20

对这两种语言执行相同操作的功能有哪些?

javascript php urlencode

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

在创建它时引用javascript对象proprty(使用它)

你能解释一下为什么这个对象不理解'这个'吗?

var circle = {
                radius : 20,
                x : 100 - this.radius / 2,
                y : 100 - this.radius / 2,
             }

console.log(circle.x) // returns NaN, why?
Run Code Online (Sandbox Code Playgroud)

javascript oop

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

&lt;canvas&gt; 钻石/玻璃效果

我正在制作画布动画,其中一个图像应该是钻石。

现在,我得到了这样的信息:

ctx[0].beginPath();
ctx[0].moveTo(0,-80);
ctx[0].lineTo(-60,-130);
ctx[0].lineTo(-36,-160);
ctx[0].lineTo(36,-160);
ctx[0].lineTo(60,-130);
ctx[0].closePath();
ctx[0].fillStyle = "rgba(175,175,255,0.7)";
ctx[0].fill();
Run Code Online (Sandbox Code Playgroud)

它绘制了一个简单的浅蓝色半透明钻石形状。

这太简单了,但我在“颜色”方面遇到了严重的问题。我猜类似玻璃的东西应该可以解决这个问题,但到目前为止我还没有发现任何有用的东西。如果有帮助的话,我可以根据需要添加尽可能多的线条,但颜色是我的主要问题。

这将是预渲染的,所以长而复杂的代码不是什么大问题。不过,我宁愿不使用图像。

总结一下:我需要画布的玻璃效果。有任何想法吗?

javascript canvas html5-canvas

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

如何在私有对象上设置特定属性

我希望能够通过给出值的非符号路径来设置私有对象的属性.困难在于此对象在闭包内,因此我无法直接访问它以正常方式设置值(例如.dot.notation.path = 'new value').这看起来很奇怪,但我想不出明显的方法.

例:

// setter function   
function set(path, change){
    var privateObject = {
      a: 'a',
      b: 'b',
      c: {
          d: 'd',
          e: 'e'
      }
    }

    privateObject[path] = change;
    return privateObject;
}

// execution
var result = set('c.d', 'new value'); 

// desired result
//{
//  a: "a"
//  b: "b"
//  c: {
//    d: "new value",
//    e: 'e'
//  }
//}

// actual result
//{
//  a: "a"
//  b: "b"
//  c: …
Run Code Online (Sandbox Code Playgroud)

javascript object

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

Regexp欧洲价格

我测试了以下正则表达式的美国价格(分隔符逗号,分隔符点)运行正常:

 ^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(\.[0-9]{2})?$
Run Code Online (Sandbox Code Playgroud)

它有效,30,000.000的价格被拒绝.只接受2位小数.

我试图交换它们来处理欧洲价格:

^[1-9][0-9]{0,2}(?:.?[0-9]{3}){0,3}(\,[0-9]{2})?$
Run Code Online (Sandbox Code Playgroud)

但它不起作用,接受30,000,000的价格,这是错误的.只接受2位小数.

这2个正则表达式有什么问题?

javascript regex

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