Tag: 浏览器

使用POST方法通过Zombie.js浏览器调用API

我正在用Zombie.jstesting我的node.js代码。 我有以下的API,这是在POST方法: /api/names 并在我的testing/ person.js文件中的代码如下: it('Test Retreiving Names Via Browser', function(done){ this.timeout(10000); var url = host + "/api/names"; var browser = new zombie.Browser(); browser.visit(url, function(err, _browser, status){ if(browser.error) { console.log("Invalid url!!! " + url); } else { console.log("Valid url!!!" + ". Status " + status); } done(); }); }); 现在,当我从我的terminal执行命令摩卡 ,它进入browser.error条件。 但是,如果我设置我的API获取方法,它按预期工作,并进入有效的Url (否则部分)。 我想这是因为有我的API在后期的方法。 PS:我没有创build任何窗体来执行button单击查询,因为我正在开发一个移动的后端。 […]

node.js zombie.js多个浏览器错误

我想login到Web应用程序并开始模拟 – 即访问一些页面并更改一些值。 我的代码是: var Browser = require("zombie"); fail = function (error) {console.log(error)} function login(browser){ //console.log("login") return browser.visit("http://example.com/login").then(function(){ browser.fill('input[name="email"]', 'example@example.com') browser.fill('input[name="password"]', 'example') browser.pressButton("#login") return browser.wait().then(function() { return browser; }) }) } function simpleScenario(browser, id) { //browser.wait().then(function() { browser.visit("http://example.com/next_page") .then(function () { browser.wait(function() { var n = 5; var step = function () { var period […]

在处理HTML5时,是否需要在node.js中包含res.writeHead?

我已经开始学习HTML5 / CSS3 / JavaScript / Node.js,并且没有使用HTML4的经验,更不用说Web应用程序了。 所以这可能是一个愚蠢的问题,但是无论如何,我在网上寻找答案时看不到一个答案,因为我所读的所有例子,包括networking和书籍,都被认为是用HTML4编写的,现在在这里。 在Node.js中,当您向客户端发送响应头时,您将编写以下示例代码: var http = require('http'); http.createServer(function(req, res){ res.writeHead(200, {'Content-Type':'text/html'}); res.write(some_data); res.end(); }); 但是,在HTML5中,你不需要写一个头{'Content-Type':'text/html'} ,对吗? 那么我可以在我的节点应用程序文件中删除一行res.writeHead吗? 我知道一些浏览器仍然不支持HTML5,但是如果可行的话,我想让我的代码只适用于HTML5 / CSS3。 此外,当我完成创build一个Web应用程序并发布它时,我应该去哪个path,当应付浏览器仍然不支持HTML5 / CSS3(比如,旧的IE)。 1)即使有些内容崩溃,正看上去仍然出版 2)从安全angular度完全阻止使用浏览器的用户,并提示他们使用另一个浏览器,如果可行的话(我不知道,但我怀疑我可以访问客户端的浏览器信息并相应地处理使用JavaScript …对不对?) 我不打算让我的代码适用于所有的浏览器,因为我想把它作为一种爱好发布,并尽可能花费尽可能less的时间用HTML5 / CSS3构build一个漂亮的网站。 谢谢。

在JavaScript和var关键字的分配

我正在阅读“学习节点”一书,我陷入了一个非常简单的问题,一个我没有考虑过的问题:javascript中的赋值。 作者指出,我们应该认识到,通过使用Node的REPL,以下将返回undefined: var a = 2 (undefined) 而下面的代码将在REPL中返回“2”: a = 2 2 这是为什么? 上面的代码不是属性? 怎么来的? 如果var'a'在代码中的那一点还没有存在,那么它怎么不是和归属?

node.js和浏览器之间关键字“this”的不同行为

我已经尝试下面的代码,ie,firefox和node.js var x = 10; var o = { x: 15 }; function f(){ console.log(this.x); } f(); f.call(o); 浏览器中的结果是10,15,但node.js中的结果是未定义的15。 请向我解释浏览器和node.js中“this”关键字的不同行为是什么? 我读了很多页面,但没有任何明显的答案。 提前致谢。

浏览器和节点有什么区别?

浏览器和节点有什么区别? 例如: 节点上的setName.js : var setName; setName = function (name) { return this.name = name; }; setName("LuLu"); //LuLu console.log(name); //undefined console.log(this.name); 浏览器中的setName.html : <script> var setName; setName = function (name) { return this.name = name; }; setName("LuLu"); //LuLu console.log(name); //LuLu console.log(this.name); </script> 第二个日志是不同的,为什么?

在JavaScriptcallback中,错误参数的正确位置是什么?

我正在写一个JavaScript函数,需要callback。 如果出现错误,callback将被传递一个错误参数。 什么是最好的/最标准的调用约定? callback的错误参数应该是第一还是最后? 我应该传递一个'errorMsg'string,或一个new Error('errorMsg')对象? 也就是说,什么是更正确的 – 这个代码: foo = function(bar, callback) { … if (error) { callback('troz not found'); } else { callback(null, result); } } 或者这个代码: foo = function(bar, callback) { … if (error) { callback(null, 'troz not found'); } else { callback(result); } } 或这个: foo = function(bar, callback) { … […]

错误“不允许加载本地资源:file:// sharedpath”

在chrome中的服务器(nodejs)上运行时,下面的代码不起作用 <span><a href="file://sharedpath" target="_blank">Open folder.</a></span> 我在开发人员工具中收到以下错误消息: 不允许加载本地资源:file:// sharedpath 但是当在浏览器(新选项卡)中打开相同的path( file://sharedpathpath)时,我能够看到该path的文件夹结构。 在IE中工作正常。 这是Chrome的问题吗? 或者在服务器上运行时,这是一个问题? 任何人都可以在这个问题上提出build议

JavaScript的事件循环问题

我不知道事件循环如何在JavaScript中工作,我正在使用node.js,但我想同样的问题适用于浏览器。 我有一些asynchronous调用(比方说setTimeout或$.ajax或fs.readFile ),一段时间后,事件循环执行callback 现在当callback执行时,幕后会发生什么? 当它调用asynchronous的东西时,它会复活它使用的堆栈吗? 在实践中callback所在的上下文是什么? 它是如何工作的? 编辑 :谢谢,我看..只是一个问题,事件循环如何“记住”callback的范围?

浏览器中的语音聊天?

我们希望在服务器上使用node.js在浏览器中实现一个组 – 语音 – 聊天。 这可能吗?