【问题标题】:Is there any way to open a browser from different machine using node js?有没有办法使用node js从不同的机器打开浏览器?
【发布时间】:2016-09-13 20:43:10
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 不确定我是否完全理解您想要做什么,但也许这会有所帮助...npmjs.com/package/open ?
  • 感谢@dan75。我会尽力解释。假设我有 2 台计算机 A 和 B。我正在使用计算机 A。我想在计算机 B 的任何浏览器中自动打开一些 url。
  • 所以你有一台机器 B,并且在 A 上工作。你不会从 A 做任何事情,并且在 B 中会打开一个 URL。这是你想要的吗??
  • @JayadrathaMondal 完全正确!
  • 你不觉得如果它可用就会有安全问题吗?即使我现在也可以在您的浏览器中打开任何标签。为什么需要这个?

标签: javascript node.js ip


【解决方案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。

【讨论】:

  • 不用担心 :) 很高兴它有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
相关资源
最近更新 更多