从Go应用程序刷新特定浏览器标签的最简单方法是什么?

时间:2016-10-04 18:36:41

标签: javascript http browser go

我在我的机器上运行了一个客户端Golang应用程序。我也打开了一个浏览器,在该浏览器中可能会有一个运行我的Web应用程序的选项卡(它与Golang应用程序完全分开)。

在Golang应用程序中,我想以编程方式刷新浏览器选项卡(如果可能的话,可以将其放在前面,但这不太重要)。

我已经研究了很多,并且我总结说这不可能只是通过与浏览器通信,没有标准(特别是跨平台和跨浏览器)界面,我们可以触发特定选项卡的刷新浏览器。

所以我想我需要在我的Golang应用程序可以与之通信的网站上运行一些自定义JS代码,并触发选项卡的刷新。

最简单的方法是什么?

(我正在查看livereload.jslrserver,但这些都是以我们想要观看的内容文件夹并在任何更改时自动重新加载为前提的。我不想要这个,我只是通过编程方式想要触发刷新。此外,这个Golang应用程序不是托管网站,它只是一个单独的客户端应用程序。)

1 个答案:

答案 0 :(得分:0)

正如一些评论所建议的那样,似乎没有API可以通过它从Golang连接到浏览器,查询选项卡列表,以及刷新特定页面(至少不是跨浏览器和跨平台)方式)。

执行此操作的一种可能方法是在Golang中托管一个小型WebSocket端点,并从我们要刷新的站点连接到它。然后每次我们想要重新加载网站时通过WS连接发送消息,并在收到消息时在JavaScript中调用location.reload()

我在blog post中描述了所有详细信息,并将完整的工作示例上传到GitHub