在某个浏览器选项卡/窗口中打开一个URL



从我的QT应用程序中,我想在同一浏览器选项卡/窗口中重复打开URL。(以编程方式"刷新"此选项卡)

使用

QDesktopServices::openUrl(QUrl("http://www.domain.tld"));

为每个呼叫打开一个新的选项卡/窗口。是否有可能在某处添加" target ="参数?

您所要求的是不可能以您想象的方式做。OpenUrl()使用操作系统指定程序以打开文档中提到的参数。

可能会有一些解决方法,但是它们都无法正常工作或在所有浏览器上工作。只是这种细粒度的控制可能对您来说是不可能的。

如果要在浏览器中控制选项卡,则可以找到由该选项卡表示的窗口,然后在打开新的窗口之前将其关闭。该解决方案有点骇客。

另一个hacky解决方案是找到持有URL的编辑框的HWND,并尝试使用SendMessage()更改其文本。但是,这在Chrome上不起作用,因为它不为URL窗口使用单独的控件。它可能在Firefox或IE上工作。

更好的解决方案是使用QT WebKit制作自己控制的Web浏览器。在其中呈现页面并更改查看的URL非常容易。QWEBVIEW易于使用QTWebKit。

也许您会发现这个有用的L:

您可以打开网页,然后重新加载"活动"选项卡。

如果您提供浏览器的名称作为参数,它将找到并重新加载当前页面

https://unix.stackexchange.com/questions/37258/refresh-reload-active-active-browser-tab-from-command-line-command-line

最新更新