小编Jos*_*ith的帖子

你能用用户定义的对象伪造Array.isArray()吗?

我很好奇是否有任何方法可以伪造出Array.isArray()用户定义的对象.

从JavaScript模式书:

Array.isArray([]); // true

// trying to fool the check
// with an array-like object
Array.isArray({
  length: 1,
  "0": 1,
  slice: function () {}
}); // false
Run Code Online (Sandbox Code Playgroud)

那个对象显然失败了,但还有其他办法吗?这纯粹是好奇心,并不是因为我认为你可以用.isArray()普通的客户端代码搞定(尽管知道你是否可以,这显然很棒!).

javascript

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

Socket.io授权功能不更新会话数据

我正在尝试使用Socket.IO的授权功能来获取会话数据.问题是,即使我注销并销毁我的会话,Socket.IO仍然有旧的会话信息,这显然不太理想.我在下面的代码中做错了什么想法?

io.set('authorization', function (data, accept) {
    if(data.headers.cookie) {
        data.cookie = parseCookie(data.headers.cookie);
        data.sessionID = data.cookie['express.sid'];
        app.set('mongo-store').get(data.sessionID, function (err, session) {
            console.log(err, session);
      if (err || !session) {
                // if we cannot grab a session, turn down the connection
                accept('Error', false);
      } else {
        // save the session data and accept the connection
        data.session = session;
        accept(null, true);
      }
        });
    } else {
        return accept('No cookie transmitted.', false);
    }
    accept(null, true);
});
Run Code Online (Sandbox Code Playgroud)

这是连接代码:

io.sockets.on('connection', function(socket) {  

  var hs = socket.handshake;
  console.log('A socket …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express socket.io

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

以RESTful方式检查用户名,电子邮件等的可用性

我最近已经开始尝试尽可能地考虑REST,并且我发现自己被非显而易见的路线所困扰.

在这种特殊情况下,我很好奇RESTful方式来检查用户的用户名和电子邮件可用性,或其他任何具有唯一性的方法.

我的直觉告诉我,我会想在执行GET/users/email/users/username/每一个需要PARAM,或者说沿着线GET /users/search/与可选PARAMS emailusername.如果你得到了200,那么username或者email不可用; 如果你得到了404,那就可以了.

我更喜欢第一种选择,因为它更明确,但是我并不喜欢罗伊菲尔丁的论文,因为我很清楚该怎么做.

什么是最健全的方法?

rest

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

OpenID与Gerrit无法正常工作

当我点击注册或使用Gerrit Code Review登录时,我收到此错误: Provider is not supported, or was incorrectly entered.

当我手动将URL输入OpenID字段时,它会转到Google页面,说明: The page you requested is invalid.

有什么线索在这里发生了什么?

编辑:经过进一步调查,我意识到,如果我将OpenID字段中提供的URL更改为http而不是https,它会将我重定向到Google并请求我批准.然而,在重定向回Gerrit时,似乎没有发生任何事情.我尝试多次注册/签名,但没有效果.

我还在MySQL数据库中查看是否存储了任何数据,并且似乎没有.

编辑2:我现在向Gerrit提交了一份错误报告.

编辑3:回答.我已经做得很好,可以更仔细地阅读以前的错误报告.我的系统管理员也非常缺乏.尽管如此,这是作为另一个bug的副本解决的,并且是Debian问题; 见下文.

git openid gerrit

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

使用jQuery扩展复选框周围的可点击区域

我正在设计一个使用浏览器提供的标准复选框的任务列表.但恕我直言,复选框区域太小而且难以点击,特别是如果您正在进行半功率用户风格点击多个复选框(对于不了解键盘快捷键但想要进行大量存档,删除等的用户) . 一次全部).

有没有什么方法可以使复选框周围的区域可点击,比如说它附近有5px的额外填充?我正在使用jQuery作为我的主要客户端代码,但我不反对使用普通的旧JS,如果它更有意义.

哦,我并不是真的在寻找一个插件.这里有一些轻量级的东西.

提前干杯!

checkbox jquery

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

使Twitter Bootstrap 2.0的响应式布局完全修复

2.0-wipGitHub上的Twitter Bootstrap 分支包括一个新的响应式布局系统.这对于需要这种响应水平的应用程序来说非常棒,但我正在开发一个只需要完全固定布局的纯网络应用程序.

有没有简单的方法来覆盖Bootstrap的响应式布局?

您可以通过克隆他们的回购,分支到您的浏览器2.0-wipdocs/scaffolding.html在浏览器中打开来查看它.

提前致谢!

css twitter-bootstrap

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

如何在Rails中创建索引("users"."username")(使用postgres)

我的UsersController#create动作中发生了顺序扫描.

SELECT ? AS one FROM "users" WHERE (LOWER("users"."username") = LOWER(?) AND "users"."id" != ?) LIMIT ?

Explain plan
1 Query planLimit (cost=0.00..3.35 rows=1 width=0)
2 Query plan-> Seq Scan on users (cost=0.00..3.35 rows=1 width=0)
3 Query planFilter: ?
Run Code Online (Sandbox Code Playgroud)

我相当积极,这来自以下模型验证:

validates :username, uniqueness: { case_sensitive: false }

我应该创建一个针对此快递的索引吗?如果是这样,在Rails 4中执行此操作的正确方法是什么?

postgresql indexing ruby-on-rails ruby-on-rails-4 rails-activerecord

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

Rails与组织/用户相同的顶级URL路由:domain.com/user和domain.com/organization的工作原理相同

我试图通过这种方式将顶级路由从我的Rails API工作到Ember.js客户端(例如,类似于GitHub的工作原理):

点击www.example.com/username会给你一个用户的页面.这可能会击中api.example.com/users/:username端点或其他端点.

点击www.example.com/organization_name会给你一个组织的页面.这可能会击中api.example.com/organizations/:organization_name端点或其他端点.

获取随机URL时,客户端显然不知道它正在处理什么类型的模型.它只是把它当作www.example.com/random_string,其中random_string可以是一个username或一个organization_name.

我不太清楚如何处理这种情况.目前还不清楚客户端或服务器的责任在哪里.我可以想象也许某种多态性在这里工作,但无法连接点.

编辑

看起来这似乎可以在Rails端通过一个catch-all路由/:slug然后使用slug来首先查询a User,然后查询一个Organization.

因此,更大的问题是,通过使用现有的控制器操作进行渲染,还是让HTTP通过重定向来处理这些请求是否有意义.会ember-data很好地处理HTTP重定向吗?在另一种情况下,它是否能够在此端点上正确切换类型?

ruby-on-rails ember.js

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

如何改进这个类似jQuery Gmail的界面?

编辑3:我已经通过忽略下面给出的建议并在窗口上聆听来实现这一点,但只有当一个input,一个text字段或textarea没有集中注意力时.不过,我不确定这是否是处理此问题的最佳方式.

http://jsfiddle.net/gXPES/5/


编辑2:我已经尝试keydown通过应用focusblur处理程序来解决问题input.然后我只会在什么时候听事件var focus_on_input == true.但似乎并非一切都很顺利.这可以防止某些行为,但会导致其他更奇怪的行为.例如,当我tab走出输入字段,按下JK会跳转到顶部或底部的名单.如果我click在其他地方转移焦点,这个问题是固定的.有什么想法吗?


编辑:感谢回答者帮助,我在监听时限制了选择器,keydown这样我仍然可以在其他地方输入字符,但我遇到了一个新问题.当我按JK箭头导航跳转到任务列表的顶部或底部时.当我按C#它会通知我没有选择任务.X按功能运行,不选择任务.


在JSFiddle上托管此代码,因为这里没有可能的方式对其进行全面评论.我已经发布了用于界面本身的所有JS,CSS和HTML.

我正在设计一个基于Gmail的UI,用于在前端使用jQuery进行任务管理(以及后端的PHP,尽管它与此基本无关).

我仍然是jQuery开发的新手,所以我意识到我做了很多错事.到现在为止,我根本不知道我到底做错什么,也不知道如何解决它.我希望一些更有学识的人可以帮助我(和其他人,希望)找出如何为更大的应用程序重构jQuery代码.

首先,我想知道如何做得更好的一些事情:

  1. 仅在任务界面处于活动状态时调用此代码.

  2. 改善对keydown事件的倾听.目前我听J,K,X,Shift+3,和C.我也将听取E任务编辑,但尚未实施编辑.听众的问题与我的第一个问题有关,即他们总是在关注 …

jquery user-interface gmail refactoring

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

为什么Internet Explorer 9渲染Arial比其他浏览器更强大?

出于某种原因,IE9使Arial字体比其他浏览器更大胆,例如:IE7,IE8,Chrome和Firefox.我在CSS中寻找原因却找不到任何错误.

发生的另一件事是我的大多数网站都有1或2像素的字间距,但IE9显示它太宽,所以我用正常的字间距为它做了条件css.

您可以在附加的屏幕截图中看到差异,也可以在此临时链接中找到它:http: //pat.co.il/shirg/matanuziel.com/ 左边是镀铬,右边是ie9

任何想法将不胜感激.谢谢

css fonts internet-explorer-9

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