小编Eli*_*ite的帖子

创建跟踪器后设置Google Analytics用户ID

Google Analytics用户ID 文档页面显示您在创建跟踪器时设置了用户ID.我有一个只有javascript的项目,在页面加载后登录,有没有办法在登录后设置用户ID?就像是ga("set", "userid", "UNIQUEID")

字段引用页面上,它表示您只能在create函数中设置user-id.我们能够使用用户ID再次调用create吗?这会创建一个新的跟踪器,还是覆盖旧的跟踪器?

编辑:用户ID跟踪的测试版显示您可以在创建使用跟踪器后指定用户ID ga('set', '&uid', {{ USER_ID }});,并尝试在用户ID设置之后统一会话.这似乎与文档当前指定的非常不同.有没有办法用当前的方法做到这一点?

javascript google-analytics

24
推荐指数
3
解决办法
2万
查看次数

http和https之间的PassportJS回调切换

现在,当我访问我的页面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将始终未定义.

但仍然不知道如何解决这个问题.

javascript facebook node.js passport.js

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

PHP/AJAX并发会话仅在Chrome中行为不端

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)

javascript php ajax session google-chrome

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

使用唯一键增加表中的值会导致约束错误

我创建了一个表

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 中有没有办法做到这一点?有没有不同的方法来解决这个问题?

sql sqlite web-sql

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

修改子类的常量

我是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定义复制到我的子类中.

ruby

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