例如,这个正则表达式
(.*)<FooBar>
Run Code Online (Sandbox Code Playgroud)
将匹配:
abcde<FooBar>
Run Code Online (Sandbox Code Playgroud)
但是如何让它在多行中匹配呢?
abcde
fghij<FooBar>
Run Code Online (Sandbox Code Playgroud) 例如.
me$ FOO="BAR * BAR"
me$ echo $FOO
BAR file1 file2 file3 file4 BAR
Run Code Online (Sandbox Code Playgroud)
并使用"\"转义字符:
me$ FOO="BAR \* BAR"
me$ echo $FOO
BAR \* BAR
Run Code Online (Sandbox Code Playgroud)
我显然做了一些愚蠢的事.
如何获得输出"BAR*BAR"?
我发现自己将"this"分配给变量,因此我可以在回调和闭包中轻松使用它.
这是不好的做法吗?有没有更好的方式回顾原始功能?
这是一个典型的例子.
User.prototype.edit = function(req, res) {
var self = this,
db = this.app.db;
db.User.findById('ABCD', function(err, user)) {
// I cannot use this.foo(user)
self.foo(user);
});
};
User.prototype.foo = function(user) {
};
Run Code Online (Sandbox Code Playgroud)
您通常使用这种方法还是找到了更清洁的解决方案?
webkit中存在一个已知错误,当您从DOM中删除图像时,它不会释放与其关联的内存.
这是单页应用程序经常加载图像的问题.
各种建议解决方案是:
前三种方法对我不起作用.回收图像元素的主要缺点是它意味着编写大量代码来管理它.我正在通过AJAX加载可能包含图像的新HTML,因此我不一定知道要加载的图像数量.
有没有其他工作来解决这个问题?
ECMAScript 5有很多不错的补充.John Resig在这里有一个很好的概述.这是一个很好的ECMAScript 5兼容性表.
对于那些不支持这些功能的浏览器,很多这些东西都可能被"伪造".你知道任何可以做到这一点的脚本吗?我对Object.create特别感兴趣.
例如,Douglas Crockford的JSON脚本在创建JSON函数之前检查它们是否存在.
如果有更多像JSON那样我们可以在需要使用新函数时包含它们.
javascript cross-browser backwards-compatibility ecmascript-5
为什么要进行自动HTML帖子而不是简单的重定向?
这是否所以开发人员可以自动生成一个登录表单,当OpenID已知时,该表单将目录发布到远程服务器?
例如.
如果是这种情况,我可以看到好处.但是,这假设您在注销时将用户的openID保留在cookie中.
我可以找到关于如何最好地实现此规范的信息.
请参阅官方规范中的HTML FORM Redirection:
http://openid.net/specs/openid-authentication-2_0.html#indirect_comm
我从查看PHP OpenID库(版本2.1.1)中发现了这一点.
// Redirect the user to the OpenID server for authentication.
// Store the token for this authentication so we can verify the
// response.
// For OpenID 1, send a redirect. For OpenID 2, use a Javascript
// form to send a POST request to the server.
if ($auth_request->shouldSendRedirect()) {
$redirect_url = $auth_request->redirectURL(getTrustRoot(),
getReturnTo());
// If the redirect URL can't be built, …Run Code Online (Sandbox Code Playgroud) 我刚刚发现,当使用remove()函数时,匹配的元素不会从jQuery对象中删除,只会删除DOM.
根据remove()文档:
从DOM中删除所有匹配的元素.这不会从jQuery对象中删除它们,允许您进一步使用匹配的元素.
当然,如果一个Web应用程序继续添加和删除dom中的元素,这将继续消耗越来越多的内存?有人可以确认是否是这种情况?可以做些什么来避免这种情况?
我有一个使用AJAX获取页面搜索结果的网页.在服务器端,我正在查询非常慢的Web服务 - 20秒到2分钟.
据我了解,我的选择是轮询或长时间运行请求.
AsyncCallback似乎是理想的,因为一旦Web服务响应就会返回结果,并且线程不会在服务器端被阻止.
有没有更好的方法来做到这一点?您是否知道jQuery中长时间运行HTTP请求的任何问题?
更新:是的,我会在可能的情况下缓存来自Web服务的响应.我对我正在查询的外部Web服务没有任何控制权.