小编Mer*_*erc的帖子

在Chrome中以编程方式获取所有HTTP标头和流量

我需要以编程方式从Javascript获取帧的HTTP头.它不需要是可移植的(我只需要Chrome),我不介意添加/写入特定的扩展名.

或者,更好,更重要的是,我需要以编程方式访问特定站点的所有网络流量.

有没有办法做到这一点?我是否需要编写自己的扩展来实现它?如果是这样,我可以在Javascript中编写扩展吗?

写一个扩展似乎是唯一的出路.我可以写一个并使用chrome.*API,如下所示:https://developer.chrome.com/extensions/devtools_network如果要编写扩展名是要走的路,你会怎么做呢?

javascript google-chrome http

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

Chrome的Javascript控制台:它根据对象输出了什么?

来自Chrome中的javascript控制台:

> function Person(name){this.name=name;}
undefined
Run Code Online (Sandbox Code Playgroud)

此时,根据Javascript规范,Person.prototype应该是一个空对象.我们分配它:

> p=Person.prototype
  > Person
Run Code Online (Sandbox Code Playgroud)

请注意,> Person是可点击的,它会扩展为:

constructor: function Person(name){this.name=name;}
__proto__: Object
Run Code Online (Sandbox Code Playgroud)

但是......它不是一个空的对象吗?什么是额外的东西?如果你发出警报:

alert(p)
Run Code Online (Sandbox Code Playgroud)

你得到[object Object].为什么,当您在Chrome控制台中键入它时,它会出现>人物扩展?这不是一个空的对象吗?

谢谢!

javascript google-chrome

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

什么是async.series的SIMPLE实现?

我有两个功能:

function one(next){
  Users.find({}, function(err, docs){
    if( err)
      next( err );
    } else {
      next( null );
    }
  });
}

function two(next){
  Something.find({}, function(err, docs){
    if( err)
      next( err );
    } else {
      next( null );
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

我可以使用异步库:

async.series( [one, two], function( err ){
  ...
});
Run Code Online (Sandbox Code Playgroud)

这里,如果one()返回err,则立即调用回调(使用err set).什么是async.series 的简单 BASIC实现?我查看了库的代码async(这很棒),但它是一个库,意味着要做很多事情,而且我遇到它真的很麻烦.

你能告诉我一个简单的async.series实现吗?东西,它可以简单的叫对方后功能之一,而且-如果他们中的一个调用一个错误回调-被调用最终回调函数err集?

谢谢...

芝加哥商业交易所.

asynchronous node.js

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

Git:即将分叉我自己的项目

我是一个非常基本的git用户; 我基本上只使用命令git add -a(在修改后添加文件)然后git commit -m "what I did"然后git push(将其推送到我的服务器).

现在我想对我的代码库做一些非常激烈的事情.可能不起作用的东西 - 我将不得不回到原来的位置.

我怎么做?我创建一个"分支"吗?还是一个标签?或者是其他东西?

我正在使用一组简单的命令进行简单的解释.也回到原来的HEAD,或者然后(也许)将更改合并到HEAD(这将不会改变)

芝加哥商业交易所.

git branch

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

在事件发射器中的 .emit() 之前调用 .on() ——是否存在计时问题?

拿这段代码来说,其中f有一个具有事件“主体”的流,它使用m-- 本身就是一个发出事件的流来调用侦听器:

f.on('message', function(m) {
  m.on('body', function(stream, info) {
    var b = '';
    stream.on('data', function(d) {
      b += d;
    });
    stream.on('end', function() {
      if (/^header/i.test(info.which))
        msg.header = Imap.parseHeader(b);
      else
        msg.body = b;
    });
  });
  m.on('attributes', function(attrs) {
    msg.attrs = attrs;
    msg.contentType = partID[1];
  });
});
f.on('end', function() {
  if (hadErr)
    return;
  cb(undefined, msg);
});
Run Code Online (Sandbox Code Playgroud)

后端正在发出一个“消息”事件,并向其传递一个m对象。然后代码监听事件bodyattributes。这一切都很简单,只是我的小脑袋有点危机(我不习惯处理流)。特别是:后端如何从fm对象发出,以保证事件确实在正确的时间被调用?

具体来说:

  • 一般而言,必须如何f编码才能确保mm 在被调用之前不会发出m.on('body', function(stream, info) { …

events node.js eventemitter

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

道场中tabContainers的高度

我正在使用Dojo tabContainer.快速问题:如果要处理Dojo容器,是否必须在CSS中以像素为单位指定窗口小部件大小?从我所看到的,获得TabContainer实际显示的唯一方法是通过CSS给它一个绝对大小.

更新:我发现元素body并且html缺少height属性,因此它被计算为0.所以,现在如果我将它们设置为100%,我将显示表单...但是,它将是巨大的!(只要页面).我们的想法是将它的高度设置为auto,以便"只要它需要"......即使可能吗?

在我的HTML中,我有类似的东西:

...
<body>
  <div id="loginForm"> </div>
</body>
...
Run Code Online (Sandbox Code Playgroud)

然后我在代码中:

require(["app/widgets/LoginForm"], function( loginForm){
  // Create the "application" object, and places them in the right spot.
  loginForm = new LoginForm( {} , 'loginForm');
  loginForm.startup();
});
Run Code Online (Sandbox Code Playgroud)

LoginForm是一个简单的基于模板的小部件,包含以下模板:

<div data-dojo-attach-point="tabContainer" data-dojo-type="app.TabFading" data-dojo-props="tabPosition:'top'" style="height:100%">         

  <div data-dojo-type="dijit.layout.ContentPane" data-dojo-attach-point="loginPane" data-dojo-props="title: 'Login'">
    <form data-dojo-type="dijit.form.Form" data-dojo-attach-point="loginForm" method="POST">
      <label for="${id}_login">Login</label>
      <input name="login" id="${id}_login" data-dojo-attach-point="login" data-dojo-type="dijit.form.ValidationTextBox" data-dojo-props="required:true"/>
      <label for="${id}_password">Password</label>  
      <input name="password" id="${id}_password0" data-dojo-attach-point="password" data-dojo-type="app.ValidationPassword" />
      <input type="submit" …
Run Code Online (Sandbox Code Playgroud)

css layout dojo

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

Dojo 中的日期和时间小部件

Dojo 有两个小部件:

注意:我正在以编程方式使用 Dojo。

我希望用户输入日期和时间,然后向服务器发送批次的“混合”值(即日期+时间)。

我意识到我需要操纵 之前的两个值submt()。有没有既定的方法来做到这一点?我肯定不是地球上唯一需要简单日期/时间表格的人吗?

javascript time dojo date

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

使用cheerio自动提交查询(如JQuery)

我必须执行以下操作:给定从服务器加载的页面,我必须在加载后自动在该页面中提交表单,并使用相同的字符串(test worked)填充其所有输入字段.这显然是我的问题的简化,但它足够接近!

目前我正在获取表单,并使用https://github.com/cheeriojs/cheerio来探索它:

var URL = http://www.example.com/form/index.html"
// ...load the page ...
$ = cheerio.load( fetchedPageText );
Run Code Online (Sandbox Code Playgroud)

目前,我有以下代码:

var $ = cheerio.load( fetchedPageText );

var forms = $('form');
for( var i1 = 0, l1 = forms.length; i1 < l1; i1 ++ ){
  var form = forms[ i1 ];

  inputFields = $( 'input', form );


  console.log("******FORM ACTION: ", form.attribs.action );
  console.log("******FORM: ", form );

  for( var i2 = 0, l2 = inputFields.length; i2 < l2; i2 ++ …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery node.js cheerio

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

从字符串创建日期

我有两个字符串2017-03-15( date) 和 12:26( time)。我想从中创建一个本地化日期对象,而不使用库。

请记住,现在是:Tue Mar 14 2017 12:26:33 GMT+0800 (AWST),如果我这样做:

new Date( date + 'T' + time )
Run Code Online (Sandbox Code Playgroud)

我得到错误的结果,因为日期被视为 UTC:

Wed Mar 15 2017 20:26:00 GMT+0800 (AWST)
Run Code Online (Sandbox Code Playgroud)

如果我使用空格:

new Date( date + ' ' + time )
Run Code Online (Sandbox Code Playgroud)

结果是正确的:

Wed Mar 15 2017 12:26:00 GMT+0800 (AWST)
Run Code Online (Sandbox Code Playgroud)

然而,这在 Safari 上不起作用(没有 T 就不行)。Safari 实际上会抛出错误(!)。

我意识到将字符串解析为日期取决于实现。因此,“正确”地做到这一点的唯一方法是:

var timeSplit = time.split(':');
var dateSplit = date.split('-');

new Date( dateSplit[0], dateSplit[1] - 1, dateSplit[2], timeSplit[ 0 ], timeSplit[ …
Run Code Online (Sandbox Code Playgroud)

javascript date

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

sscanf在%[^ - ]匹配后缺少一个字符串

我有一个简单的程序使用sscanf.我遇到的问题是匹配后%[^-]s,sscanf似乎只是停止匹配.

这是一个简单的代码,看看我的意思.之后的%s比赛%[^-]s %s完全被忽略了.

注意:我需要它,%[^-]s因为我需要我的程序来匹配两个可能的字符串.

注2:我知道代码完全不安全等等.这只是一个例子!

#include <stdio.h>

int main(void) {
    int matches;
    int num1, num2, num3, num4;
    char *s1[10];
    char *s2[10];
    char *s3[40];
    char *s4[50];
    char *s5[50];
    char *s6[50];
    char *s7[50];

    char fileTest[] = "29 0 8:4 / / rw,relatime shared:1 - ext4 /dev/sda4 rw,errors=remount-ro";
    // char fileTest[] = "160 48 179:56 /inte /var/oil/gaol/org.something.org/media/internal ro,nosuid,relatime - ext4 /dev/mmccc rw,data=ordered";

    matches = sscanf(fileTest, "%d %d %d:%d %s %s %[^-]s …
Run Code Online (Sandbox Code Playgroud)

c scanf

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

标签 统计

javascript ×5

node.js ×3

date ×2

dojo ×2

google-chrome ×2

asynchronous ×1

branch ×1

c ×1

cheerio ×1

css ×1

eventemitter ×1

events ×1

git ×1

html ×1

http ×1

jquery ×1

layout ×1

scanf ×1

time ×1