小编Sta*_*ers的帖子

使用Google Analytics跟踪内容脚本

我正在使用Google Chrome扩展程序,该扩展程序使用内容脚本修改某些页面.为了了解应用这些更改的时间和地点,我们正在研究谷歌分析,因为我们已将其用于其他网络媒体资源.

我们通过清单文件包含ga.js库,并在我们对页面应用更改时触发带有同步页面调用的_trackPageview.

var pageTracker = _gat._getTracker("UA-our-UA");    
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);    
pageTracker._trackPageview(window.location.href);
Run Code Online (Sandbox Code Playgroud)

麻烦的是,不同域中的每个pageView都算作新访问和访问者.它有办法绕过那个吗?例如,它在浏览器中使用chrome扩展sqlite数据库或键值存储来存储唯一的用户ID并独立访问id域.这可能吗?

谢谢

javascript google-analytics google-chrome-extension

14
推荐指数
2
解决办法
3077
查看次数

不可变的chrome sqlite返回对象

我使用sqlite DB作为webapp的存储系统.我一直在使用应用程序中直接从查询返回的对象.例如:

function get_book_by_id(id,successCallback,errorCallback)
{
    function _successCallback(transaction, results)
    {
        if(results.rows.length==0) {successCallback(null);}
        else
        {
            book=results.rows.item(0);
            successCallback(book);
        }
    }
    db.transaction(
        function (transaction) {
            transaction.executeSql("SELECT id,title,content,last_read from books where id=?;",[id], _successCallback, errorCallback);
    });
}
Run Code Online (Sandbox Code Playgroud)

这将返回一个具有给定id的对象,所有列都作为属性提供.尼斯.我刚才想到的问题是结果集对象的所有属性都是不可变的.因此,例如,如果我想要更改属性'title'它没有任何效果,这在我看来毫无意义.例:

get_book_by_id(1,handle,error);
function handle(book)
{
 //THIS DOESN'T WORK, book.title is still what it was.
 book.title=book.title+"more text";

}
Run Code Online (Sandbox Code Playgroud)

我当然可以将我的所有数据库对象转换为可变对象,但我宁愿不这样做.

这是预期的行为吗?我可以请求可变对象吗?

我在Mac OS X上使用谷歌浏览器9.0.

javascript sqlite html5 google-chrome

10
推荐指数
1
解决办法
791
查看次数

Canvas受到本地chrome://扩展URL的跨源数据的污染

我正在研究谷歌浏览器扩展程序,我正在尝试将与扩展程序捆绑在一起的图像加载到画布中.

var canvas = document.createElement('canvas');
canvas.width = 470;
canvas.height = 470;
var context = canvas.getContext('2d');
var image = new Image();
image.addEventListener('load', function(){
     //process
});
image.src = chrome.extension.getURL("asset/gotcha.png");
Run Code Online (Sandbox Code Playgroud)

当我在内容脚本中执行代码时,我得到:

Unable to get image data from canvas because the canvas has been  tainted by 
cross-origin data.
Run Code Online (Sandbox Code Playgroud)

有办法避免这种情况吗?我已经成功地将图像,音频,视频和闪存直接嵌入到目标站点中而没有任何问题.资源列在清单文件中的web_accessible_resources下.

javascript google-chrome canvas webgl google-chrome-extension

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

如何指定 postgres 表的主键种子?

我有一个 postgres 表,其中包含数据,其中主键已由注入数据的代码设置。假设主键是 0..49。

如何指示 postgres 在下一次插入的主键列上从 50 开始?目前,所有没有设置主键的插入都会导致重复的 ID 问题,因为它从 0 开始(我假设)。

database postgresql

5
推荐指数
1
解决办法
3735
查看次数

Ractive.js中的异步数据加载

我喜欢在渲染ractive模板时提取一些远程数据.由于请求的异步性质,没有数据使其成为输出.我怎么能做到这一点?

 var ractive = new Ractive({
    debug: true,
        el: 'container',
        template: '#template',
        data: 
        {   
            chapters:chapters,
                    load_text: function(path)
                    {
                         $.get(path, function( text ) {                            
                             return text;
                          });
                    }                    
        }
 });
Run Code Online (Sandbox Code Playgroud)

javascript ractivejs

5
推荐指数
1
解决办法
3347
查看次数

URLSession didCompleteWithError nil错误

在正在作为NSURLSessionDelegate的控制器中执行后台URLSession的IOS9应用程序上工作。这是我的启动方式:

    self.session_data = [[NSMutableData alloc] init];
    NSURL *url = [NSURL URLWithString:src];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    NSURLSessionConfiguration *backgroundConfigObject = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier: @"myBackgroundSessionIdentifier"];
    self.session = [NSURLSession sessionWithConfiguration: backgroundConfigObject delegate: self delegateQueue: [NSOperationQueue mainQueue]];

    self.download = [self.session dataTaskWithRequest: request ];
    [self.download resume];
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。我实现了三种委托方法。首先调用“ didReceiveData”,然后存储数据。

- (void)URLSession:(NSURLSession *)session
      dataTask:(NSURLSessionDataTask *)dataTask
     didReceiveData:(NSData *)data{

   NSLog(@"%s",__func__);
   [self.session_data appendData:data];
}
Run Code Online (Sandbox Code Playgroud)

在那之后,立即调用“ didCompleteWithError”。永远不会调用'completionHandler'处理程序。

关于“ didCompleteWithError”消息的困惑在于,实际的错误对象为nil。我已经看到一些类似的未解决的问题。加载时我不会离开控制器/视图。我需要将该功能移至AppDelegate吗?

networking objective-c ios ios9

5
推荐指数
1
解决办法
1750
查看次数

扩展超级测试

我喜欢使用SuperTest来处理我的身份验证系统,如下所示:

    const request = require('./valid_access_token')(require('supertest'));

    request(app)
    .get('/v1/bots')
    .valid_token()
    .expect('Content-Type', /json/)
    ...
Run Code Online (Sandbox Code Playgroud)

valid_token() 将插入有效的访问令牌

    module.exports = function (Request) {

      const Token = require('../../../app/v1/models/loader')('token');
      const UserFactory = require('../fixtures/user');

      Request.prototype.valid_token = function()
      {

        return UserFactory.createAsync('user')
        .then(function(user){
            return new Token({username: user.username}).createWeeklyAsync()
            .then(function(userToken){
                this.set("access-token",userToken[0].token);
                return this;
            })       
        })     
       }        
       return Request;
    }     
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,我收到此错误:

TypeError: request(...).get(...).valid_token is not a function
Run Code Online (Sandbox Code Playgroud)

我尝试了各种不同的方法,但没有运气。

javascript testing mocha.js superagent supertest

5
推荐指数
1
解决办法
1062
查看次数

在 $facet 中使用 $sort 和 $limit 时 Mongo 聚合速度较慢

我注意到在看似相同的总体上存在巨大的性能差异,至少在概念上是这样。测试是在一个简单的集合结构上进行的,该结构有一个 _id、一个名称和一个createdAt,但其中有 2000 万个。在createdAt上有一个索引。它托管在 mlab 集群上,版本为 3.6.9 WiredTiger。

我正在尝试使用聚合进行简单的分页,我知道我可以使用查找和限制,但我喜欢向管道添加更多元素,我给出的示例非常精炼。

db.getCollection("runnablecalls").aggregate([
         {
          $facet: {
            docs: [
                { $sort:  {createdAt: -1} },
                { $limit:  25 },
                { $skip:  0 },                                
            ],
            page_info: [
              { $group: { _id: null, total: { $sum: 1 } } 
              }
            ],
          }
        }                           
      ])
Run Code Online (Sandbox Code Playgroud)

这几乎需要40s. 现在,如果我将$sort和移到$limit刻面之外,则需要0.042s.

db.getCollection("runnablecalls").aggregate([
        { $sort:  {createdAt: -1} },
        { $limit:  25 }, 
        {
          $facet: {
            docs: [           
                { $skip:  0 },                
            ],            
            page_info: [
                { …
Run Code Online (Sandbox Code Playgroud)

database performance mongodb wiredtiger

5
推荐指数
1
解决办法
3750
查看次数

使用 Flux 对每天的流入数据进行分组

我一直在使用 Flux 查询语言解决 influxDB 中的时间分组问题。我可以用生成的数据来说明,从 2021 年 1 月 1 日到 2021 年 1 月 5 日,每天一个条目。

import "generate"
data = generate.from(
  count: 5,
  fn: (n) => n + 1,
  start: 2021-01-01T00:00:00Z,
  stop: 2021-01-06T00:00:00Z,
)

data
  |> range(start: 2021-01-01T00:00:00Z, stop: 2021-01-05T05:00:00Z) 
Run Code Online (Sandbox Code Playgroud)

生成:

_桌子 _价值 _开始 _停止 _时间
0 1 2021-01-01T00:00:00.000Z 2021-01-05T23:59:00.000Z 2021-01-01T00:00:00.000Z
0 2 2021-01-01T00:00:00.000Z 2021-01-05T23:59:00.000Z 2021-01-02T00:00:00.000Z
0 3 2021-01-01T00:00:00.000Z 2021-01-05T23:59:00.000Z 2021-01-03T00:00:00.000Z
0 4 2021-01-01T00:00:00.000Z 2021-01-05T23:59:00.000Z 2021-01-04T00:00:00.000Z
0 5 2021-01-01T00:00:00.000Z 2021-01-05T23:59:00.000Z 2021-01-05T00:00:00.000Z

现在我每天查询数据并汇总

import "generate"
data = generate.from(
count: 5, …
Run Code Online (Sandbox Code Playgroud)

time-series influxdb

4
推荐指数
1
解决办法
6697
查看次数

Windows Phone 7上的地图的URL约定

在Windows Phone 7上从移动互联网浏览器打开地图的最佳做法是什么?在BlackBerry上,您使用JavaScript方法,在Android/iOS上,您只需链接到Google地图网址即可.

我打算将打开地图的不同方式整合到我的移动地理javascript库中,并且没有Windows手机设备.

http://code.google.com/p/geo-location-javascript/

谢谢Stan Wiechers

javascript geocoding map windows-phone-7

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

在测试环境中未启用Postgresql扩展

我有一个postgres表,其中包含一个名为shape的多边形列.为了确定一个点是否在我内部运行

select * from areas where shape @> point '(1,1)';
Run Code Online (Sandbox Code Playgroud)

这一切都很好并且在我的ruby on rails app上工作,但它在我的RSpec测试中失败了.当我查看我的日志时,我发现此错误为源

 PGError: ERROR:  operator does not exist: character varying @> point
 HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

使用数据库工作的所有其他50多个测试,只有这一个保释.它再次适用于代码和控制台.测试环境都已正确设置.

我的问题: - 如何将比较科目投入工作? - 为什么它只会在测试中失败?

postgresql rspec ruby-on-rails

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

Github API 响应“内容无效 Base64”

使用 API 将某些非常简单的内容发布到 github 时,我收到“内容无效 Base64”错误。内容是

 unit = $("<li  class='s   clearfix'></li>");
Run Code Online (Sandbox Code Playgroud)

我正在使用 Base64.urlsafe_encode64 对内容进行编码。

content = 'unit = $("<li  class=\'s   clearfix\'></li>")';
url = "https://api.github.com/repos/#{github_user}/#{github_repo}/contents/#{path}"
RestClient.put(url, 
                   { 
                      message: "my message", 
                      content: Base64.urlsafe_encode64(content), 
                      encoding:"base64" }.to_json,
                   { 
                      params:{access_token:access_token
                   },accept:'json'}){ |response, request, result| 
   puts response.code
   puts response
}
Run Code Online (Sandbox Code Playgroud)

我得到这个回应:

422
{"message":"content is not valid Base64",
 "documentation_url":"https://developer.github.com/v3/repos/contents/"}
Run Code Online (Sandbox Code Playgroud)

我不明白这对 github 来说如何不能是有效的 base64。并不是所有提交的数据都会发生这种情况。

content='unit = $("<li  class=\'s   clearfix\'></li>")'
Base64.urlsafe_decode64(Base64.urlsafe_encode64(content))==content
=> true
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ruby rest base64 github-api

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

在 Visual Studio Code 中为 dockerized 节点进程设置了断点但尚未绑定

我正在尝试将 macOS Catalina 上的 Visual Studio Code 中的调试器用于节点应用程序。我创建了一个非常简单的例子来说明我的情况。

索引.js

require('http').createServer( (request, response) => {
  response.writeHead(200, {'Content-Type': 'text/plain'})
  response.end('Hello World\n');
  response.end();
}).listen(3000);
Run Code Online (Sandbox Code Playgroud)

文件

FROM node:12.14.0-alpine 
COPY . /src
CMD ["node","--inspect=0.0.0.0", "src/index.js"]
Run Code Online (Sandbox Code Playgroud)

我构建了 Dockerfile

docker build . -t debugtest
Run Code Online (Sandbox Code Playgroud)

然后运行它

 docker run -p 3000:3000 -p 9229:9229 debugtest
Run Code Online (Sandbox Code Playgroud)

我可以访问http://localhost:3000/

我在 index.js 中设置了一个断点。

在此处输入图片说明 然后在 Visual Studio 代码中设置调试器目标

{
  "version": "0.2.0",
  "configurations": [
  {
    "type": "node",
    "request": "attach",
    "name": "Attach",
    "port": 9229,
    "skipFiles": [
      "<node_internals>/**"
    ]
  }
  ]
}
Run Code Online (Sandbox Code Playgroud)

现在,当我以可视化代码启动调试器时,断点的红点消失,并出现“断点设置但尚未绑定”。

在此处输入图片说明

我在各个地方都看到过这个问题,但没有一个解决方案有效。当我在 docker 之外运行节点进程时, …

javascript debugging node.js docker visual-studio-code

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