小编lag*_*lex的帖子

Angular element.width不是一个函数?

难道element.width()不工作了还是我错以为它给你宽度的元素?

angular.module('app', []).directive('app', function() {
  return {
    restrict: 'E',
    link: function(scope, element) {
      console.log(element.width());
      // => Error: element.width is not a function
    },
  };
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
  <app></app>
</div>
Run Code Online (Sandbox Code Playgroud)

angularjs

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

无法调用undefined的方法'use'

我在node.js express中实现护照有问题.

我试图遵循不同的指南,但不会成功..

这次是这样的错误:

在此输入图像描述

我的代码看起来像这样:

在app.js中:

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

// Configuring Passport
var passport = require('passport');
var expressSession = require('express-session');
// TODO - Why Do we need this key ?
app.use(expressSession({secret: 'mySecretKey'}));
app.use(passport.initialize());
app.use(passport.session());
Run Code Online (Sandbox Code Playgroud)

知道为什么它不会工作吗?我已经安装了快递,护照,护照本地等.

node.js express passport.js

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

PictureFill无法在Internet Explorer中运行; 不承认srcset?

我已经使用Picturefill在我的网页上加载了几张图片.它们在Chrome中正确显示,但在Internet Explorer 8中根本不显示.

以下是我的代码示例:

<link href="styles.css" rel="stylesheet" type="text/css">
<script src="js/modernizr.custom.11641.js"></script>
<script async="true" src="js/picturefill.js"></script>
<script src="js/respond.js"></script>
</head>

<body>
<div class="wrapper">
    <header class="x-padding inside-b-padding">
        <h1 class="nocontent outline">Baseball for Busy
        People</h1>


    <picture class="logo">
        <!--[if IE 9]><video style="display: none;"><![endif]-->
        <source srcset="images/logo.png" media="(min-width: 750px)">
        <!--[if IE 9]></video><![endif]-->
        <img srcset="images/logo-small.png" alt="Baseball for Busy People">
    </picture> 
Run Code Online (Sandbox Code Playgroud)

(我包括顶部,以防我的文件链接是问题的一部分).

我可以在IE 8中查看演示:http://scottjehl.github.io/picturefill/examples/demo-02.html.但是我页面上的图像不起作用.

这是我尝试过的:

  1. 我将演示中的代码复制并粘贴到我的页面中(将图像路径更改为绝对路径) - 它们没有显示.
  2. 我添加了脚本来创建一个<picture>元素(虽然我使用的是Modernizr,所以不需要它).
  3. 我添加了一个src路径到img标签,这有用,但我读到Picturefill不推荐这个.

html css internet-explorer picturefill

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

复选框上的onchange事件始终显示this.value = on

当触发其onchange事件时,类型复选框的输入this.value始终设置为on即使勾选了复选框,在这种情况下我希望它是off

这是预期的行为吗?

<input type="checkbox" onchange="alert(this.value)">
Run Code Online (Sandbox Code Playgroud)

html javascript checkbox

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

填充mongoose中的所有字段?

有没有办法在运行mongoose查询时填充所有字段,以防您事先不知道哪些字段是引用的文档?像这样的东西:

schema = new Schema({ ref: {type:ObjectId, ref:'ref'}});
db = Model('data', schema);

db.find({}).populate('*').
// or
db.find({}).populate({path:'*'}).

//=> {ref: {_id:...,}} // "ref" is populated automatically
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

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

检查Javascript是否存在滚动条?

我正在构建一个有趣的小便笺应用程序,有时这会发生:

(这是因为第一个单词比笔记的宽度宽.)

有没有办法检查滚动条是否与Javascript一起出现?如果我可以这样做,我可以调整音符大小,直到它包含没有滚动条的文本.

javascript css overflow scrollbar width

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

使用哪种护照认证

我在我的网站中使用了几种Passport身份验证策略,效果很好,但是,我需要一个Demo或(我们可以调用session)策略,它会根据它的会话ID自动授权用户,现在我手动执行,当用户导航时在/demo页面上,我使用会话ID在db(mongodb)上运行查询,如果用户存在,我使用该用户呈现页面,如果不是,我创建一个.

app.get('/demo', function(req,res) {
  db.User.findOne({ 'accounts.kind': 'demo', 'accounts.sid': req.sessionID }, function(err, user) {
    if (user) {
      res.render( 'home', {
        user: user
      });
    } else {
      var user = new db.User();
      user.accounts.push({
        kind: 'demo',
        sid: req.sessionID,
        created: Date.now
      });
      req.session.userId = user._id;

      user.save(function(err) {
        if(err) { throw err; }
        res.render( 'home', {
          user: user
        });
      });
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

用户架构如下所示:

UserSchema = new Schema({
  uname: {type: String},
  accounts: [],
  docs:[{type:Schema.Types.ObjectId, ref:'Doc'}]
})
Run Code Online (Sandbox Code Playgroud)

它工作,但我需要设置一个会话变量,因为这个方法不会登录用户,我的意思是req.user请求中没有,但是使用该会话变量我可以检查用户是否是演示用户. …

node.js passport.js

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

使用Passport路由文件问题

我正在使用NodeJS,Express和PassportJS来构建Web应用程序.我遇到了一条我无法理解的路线问题.当我有:

...
app.get('/auth/facebook', passport.authenticate('facebook'));
...
Run Code Online (Sandbox Code Playgroud)

一切似乎都很好.但当我改变为:

...
app.get('/auth/facebook',
  function(req, res) {
    passport.authenticate('facebook');
  });
...
Run Code Online (Sandbox Code Playgroud)

它挂了吗?我在app.get函数上遗漏了什么吗?我希望能够这样做,因为我想让路径更加动态,我确定了护照的身份验证.例如:

...
app.get('/auth/:provider',
  function(req, res) {
    passport.authenticate(req.params.provider);
  });
...
Run Code Online (Sandbox Code Playgroud)

凡提供者可能是facebook,twittergoogle...

authentication routes node.js express passport.js

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

登录nodejs API后生成令牌

我正在使用nodejs和express创建API.我需要提供本地用户名/密码验证.我可能需要在将来提供额外的身份验证,所以我使用passportjs,因为它似乎是最灵活/可插拔的.

API将由Web应用程序和移动应用程序使用.而不是必须通过每个api请求传递用户名/密码,我想我可以让用户登录并为客户端提供令牌.客户端可以存储令牌并在每个api请求上提供令牌.

我已经看过使用JWT令牌,即http://coderead.wordpress.com/2012/08/16/securing-node-js-restful-services-with-jwt-tokens/.但是,我不确定如何使用JWT创建安全令牌.我已经读过在令牌中使用用户名是个坏主意.有没有人在节点中使用JWT来创建令牌.有一个例子吗?

我可以看一下节点的任何其他模块来生成令牌.

node.js express passport.js

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

节点Passport会话在后续调用中丢失

我相信我已经正确配置了一切:

app.configure(function() {
    app.use(express.cookieParser('secret message')); // secret it set here in new version of express or connect
    app.use(express.bodyParser());
    app.use(express.session());
    app.use(passport.initialize());
    app.use(passport.session());
});
Run Code Online (Sandbox Code Playgroud)

使用正确的凭据请求"登录" 时:

app.post('/api/login', passport.authenticate('local'), function (req, res, next) {
    console.log(req.session.passport);  // {"user":"5259f2739d4323000a000003"}
});
Run Code Online (Sandbox Code Playgroud)

req.session.passport 填充:

"passport": {"user":"5259f2739d4323000a000003"}
Run Code Online (Sandbox Code Playgroud)

但是,当打电话给:

app.post('/api/checklogin', function (req, res, next) {
    console.log(req.session.passport);  // {}
})
Run Code Online (Sandbox Code Playgroud)

req.session.passport 丢了:

"passport":{}
Run Code Online (Sandbox Code Playgroud)

两次,req.session看起来像这样:

{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"passport":{}}
Run Code Online (Sandbox Code Playgroud)

**如上所述,护照对象明显不同

我假设我已serializeUser正确配置,因为它正确设置了此属性.

我不完全确定Passport如何创建会话cookie,以及这些cookie如何持久化.

我假设req.session.passport应该保留用户属性,但看起来Passport对象:

  1. 每次通话都会重置
  2. 实际上不会在会话中保存Passport属性
  3. 永远不会创建会话

我担心我可能会忽视一些大事 - 可能是我可能需要做的事情,Passport不能直接为我处理.

我不知道有任何方法可以测试会话是否由Passport创建.

任何建议或帮助都非常感谢.这是一个多天的斗争.

node.js passport.js

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