Google Analytics用户ID 文档页面显示您在创建跟踪器时设置了用户ID.我有一个只有javascript的项目,在页面加载后登录,有没有办法在登录后设置用户ID?就像是ga("set", "userid", "UNIQUEID")
在字段引用页面上,它表示您只能在create函数中设置user-id.我们能够使用用户ID再次调用create吗?这会创建一个新的跟踪器,还是覆盖旧的跟踪器?
编辑:用户ID跟踪的测试版显示您可以在创建使用跟踪器后指定用户ID ga('set', '&uid', {{ USER_ID }});,并尝试在用户ID设置之后统一会话.这似乎与文档当前指定的非常不同.有没有办法用当前的方法做到这一点?
现在,当我访问我的页面https://example.com并单击登录时,它会转到https://example.com/auth/facebook,然后执行facebook的操作并最终回拨http:// example.com/auth/facebook/callback.我似乎无法使用https方案回调它(但仅当请求周期以https开始时).
现在,当通过https iframe(Facebook画布应用程序)查看时,我收到错误
[已屏蔽]" https://apps.facebook.com/example/?fb_source=notification&ref=notif¬if_t=app_notification " 页面是通过HTTPS加载的,但是运行了来自" http://example.com/auth/facebook "的不安全内容/ callback?code = AQD5TUeTP ... yXC0ZM8S45V2iTta629IaquCpAqVUbhAvNCFveaDBlbKg4J4#= ':此内容也应通过HTTPS加载.
passport.use(new FacebookStrategy({
clientID: process.env.FB_CLIENT,
clientSecret: process.env.FB_SECRET,
callbackURL: "/auth/facebook/callback",
profileFields: ['id']
},...
app.get('/auth/facebook',
passport.authenticate('facebook', {
scope: ["read_stream"]
})
);
app.get('/auth/facebook/callback',
passport.authenticate('facebook', {
failureRedirect: '/#'
}),
function(req, res) {
res.redirect('/#');
});
Run Code Online (Sandbox Code Playgroud)
我在heroku上运行它,它在https上处理细节.
EDIT 显然节点提供req.connection.encrypted,其中包含有关请求是否为https的信息.由于我在nginx后面的heroku上运行,它处理节点之前的所有https,因此req.connection.encrypted将始终未定义.
但仍然不知道如何解决这个问题.
TL; DR.这个有趣的部分首先不必涉及JS:我正在递增一个会话计数器,但是不同的请求看到了相同的值.这只是Chrome中的一个问题.在Firefox和Internet Explorer中,每个请求都会看到一个唯一值.
我试图打一个网页(处理数据)很多次,直到我得到一个204 HTTP代码.我可以一次做一个ajax调用,让ajax调用自己成功,然后停止204.
由于我想更快地完成它们,我在js中有多个"线程"都在做.我的意思是创建了多个相同的ajax调用,并且当它们完成时它们都会启动另一个,停止在204代码上.
我的相关js看起来像这样:
$(function() {
// "thread" id
var counter = 1;
// run 3 "threads"
generateThreads(3);
function generateThreads(num) {
if (num <= 0)
return;
doNextItem(counter++);
// Pause before starting the next thread
setTimeout(function() {
generateThreads(num-1);
},
50);
}
function doNextItem(thread) {
$.ajax({
url: URL,
statusCode: {
200: function(data) {
logItem(data, thread);
doNextItem(thread); // call itself on the same thread
},
204: function(data) {
finished(); // done, don't recurse, end the thread
}
}
});
} …Run Code Online (Sandbox Code Playgroud) 我创建了一个表
CREATE TABLE `tests` (`num` INTEGER UNIQUE, value VARCHAR(255))
Run Code Online (Sandbox Code Playgroud)
我向其中添加两行:
INSERT INTO `tests` VALUES(0, "a")
INSERT INTO `tests` VALUES(1, "b")
Run Code Online (Sandbox Code Playgroud)
我现在的目标是插入num= 0 的行,但为了能够做到这一点,我需要上移这两行上的索引。
当我执行时:
UPDATE `tests` SET `num` = `num` + 1 WHERE `num` >= 0
Run Code Online (Sandbox Code Playgroud)
我收到错误:
由于约束失败而无法执行语句(19 约束失败)
我的猜测是,它正在增加每一行,当它通过将其设置为 来增加第一行时1,已经有一行带有numof 1,因此失败。
在标准代码中,这可以通过向后迭代集合来解决,在 Sqlite 中有没有办法做到这一点?有没有不同的方法来解决这个问题?
我是Ruby的新手,请原谅可能的noob问题,但到目前为止谷歌一直没有帮助.
我在父类中定义了一个类常量
Items = [[1, 3, 5], [2, 4, 6]]
Run Code Online (Sandbox Code Playgroud)
然后我有一个子类,我想在Items数组中添加一个数组[1,5,9].你能以这种方式引用超级/重新定义常量吗?
就像是
Items = super.Items.concat([1, 5, 9])
Run Code Online (Sandbox Code Playgroud)
我想不需要使用附加项将Items定义复制到我的子类中.