有没有办法使用节点js从不同的机器打开浏览器?

时间:2016-05-17 16:09:49

标签: javascript node.js ip

我很想知道,是否有可能使用NodeJS从同一局域网中的不同机器打开/触发浏览器。

我已经通过了节点的默认' http.createServer()'和browserSync。使用它们我可以创建一个服务器并在其他机器中打开页面。但是不知道如何在其中自动触发浏览器/标签。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是针对您的问题的大大简化的解决方案,并且您已经意识到围绕此功能存在重要的安全注意事项。

但是,使用open这可以在本地网络上轻松完成(提供正确的防火墙规则)。

计算机B(浏览器应打开的机器):

var http = require('http');
var open = require("open");

function handleRequest(request, response){
    open("http://www.google.com", "firefox");
}

var server = http.createServer(handleRequest);

server.listen(8080, function(){
    console.log("Server listening on: http://localhost:8080");
});

计算机A(触发浏览器的机器):

var http = require('http');

var options = {
  host: '<Computer A IP address>',
  port: 8080,
  path: '/'
};

http.request(options).end();

在计算机B上运行代码时,如果您运行计算机A代码,则应在计算机A上的http://www.google.com处打开Firefox。