我没有"安装"用户脚本,而是在网上找到了许多手动添加它的教程.所有人都告诉我要做同样的步骤:
我这样做了 - 但我的演示脚本没有做任何事情:
// ==UserScript==
// @name Test
// @description Test
// @include http://example.com/*
// @version 1.0
// ==/UserScript==
alert(0);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我想创建一种前置过滤器,它允许我在所有操作中使当前用户可用.followint方法运行良好,我甚至不需要声明一个全局变量:
app.use(function(req, res, next){
if(req.session.user_id){
/* Get user from database
and share it in a variable
that can be accessed frooom ...
*/
User.find({ /* ... */ }, function(err, users){
if(users.length == 1){
req.current_user = users[0];
}
next();
});
}
else{
next();
}
});
app.get('/', function(req, res){
// ... here!!
console.log(req.current_user);
res.render('index', {
current_user: req.current_user,
});
});
Run Code Online (Sandbox Code Playgroud)
但是我仍然不确定是否可以操纵,req因为我不知道改变一些不属于我的东西是否正确?有一个更好的方法吗?
我已经使用Express.js设置了一个Node.js测试服务器,如下所示:
var express = require('express');
var MemoryStore = express.session.MemoryStore;
var app = express.createServer();
app.configure(function() {
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(app.router);
app.use(express.session({
store: new MemoryStore(),
secret: 'secret',
key: 'bla'
}));
});
app.get('/', function(req, res){
console.log(req.session);
res.end("html");
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
为什么console.log(req.session)打印出undefined?我没有正确使用它吗?为了将变量保存到用户的会话,我需要做什么?
客户端收到一个存储为其cookie的SID,但我无法分配任何属性req.session,因为它没有定义.感谢您提供解决此问题的任何提示!:-)
这是我正在使用的版本:
??? express@2.5.9
? ??? connect@1.8.7
? ? ??? formidable@1.0.9
? ??? mime@1.2.4
? ??? mkdirp@0.3.0
? ??? qs@0.4.2
Run Code Online (Sandbox Code Playgroud) 我想制作一个需要处理许多短用户输入的Web应用程序,但不是键入所有文本,用户应该能够使用麦克风.
我知道iPhone和Android智能手机的键盘上都有一个"麦克风按钮",但两个平台都需要先将输入聚焦才能开始录制.如果我只有一个按钮会好得多,因为否则你不会真的觉得你打算使用你的声音来执行输入.
我尝试x-webkit-speech在我的Android手机上使用该属性,但Dolphin HD和Google Chrome确实显示了真实的语音输入字段.
有没有办法直接打开语音输入对话框而不首先使键盘可见或我只是期望太多?
我在ruby中有一个对象数组,我想迭代它,忽略每个对象,它的名称已经被处理过了.例如:
[
#<Item name: "Item 1", content: "a">,
#<Item name: "Item 1", content: "b">,
#<Item name: "Item 2", content: "c">,
#<Item name: "Item 3", content: "d">,
#<Item name: "Item 3", content: "e">
]
Run Code Online (Sandbox Code Playgroud)
应该减少到
[
#<Item name: "Item 1">, # Should know that it belongs to content: "a" and "b"
#<Item name: "Item 2">, # Should know that it belongs to content "c"
#<Item name: "Item 3"> # Should know that it belongs to content: "d" and "e"
]
Run Code Online (Sandbox Code Playgroud)
一个可能的(但令人讨厌的)解决方案: …
我知道如何使用jQuery的$(this)选择器,我也理解Javascript中的OOP原理.我总是接受它只是有效,因为其他人实现了它,但我很想知道它为什么以及如何工作.
$(function(){
$('.foo').each(function(){
console.log($(this));
});
});
Run Code Online (Sandbox Code Playgroud)
鉴于此代码.我知道$('.foo')找到一组HTML元素并返回一个jQuery对象,它可以使用它迭代它们.each(...).然后,该each()方法的内部结构可能会调用闭包,该闭包已作为参数传递.
但是为什么this然后引用闭包内的特定HTML元素呢?我一直以为this只会引用一个新的范围,只要它的包装器已经使用实例化new.相反,如果this引用它会不会更加一致window?
我有这两个CakePHP V 2.4.5型号:
class Owner extends AppModel {
public $name = 'Owner';
public $hasMany = array('Car');
}
Run Code Online (Sandbox Code Playgroud)
和
class Car extends AppModel {
public $name = 'Car';
public $belongsTo = array('Owner');
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中我写道:
var $uses = array('Owner', 'Car');
public function test(){
$data = array(
'Owner' => array(
'name' => 'Me'
),
'Car' => array(
array('color' => 'red'),
array('color' => 'blue')
)
);
$this->Owner->saveAssociated($data, array('deep' => true));
}
Run Code Online (Sandbox Code Playgroud)
但CakePHP创造了所有者并忘记了他的汽车:
1 BEGIN
2 INSERT INTO `test`.`owners` (`name`) VALUES ('Me')
3 COMMIT
Run Code Online (Sandbox Code Playgroud)
这就是我的ERM的样子: …
express ×2
node.js ×2
android ×1
arrays ×1
browser ×1
cakephp ×1
cakephp-2.4 ×1
html ×1
internals ×1
iteration ×1
javascript ×1
jquery ×1
middleware ×1
object ×1
php ×1
ruby ×1
session ×1
this ×1
userscripts ×1