Bash:获取当前浏览器选项卡

Bash:获取当前浏览器选项卡,bash,shell,google-chrome,firefox,browser,Bash,Shell,Google Chrome,Firefox,Browser,有没有办法至少使用bash在firefox浏览器中获取当前打开的选项卡。 换句话说,从该页面中包含的文件浏览器中调用bash脚本的选项卡的url我偶然发现: #!/bin/bash for var in "$@" do # # done $@包含选项卡的url Firefox在版本33中改变了在硬盘上存储URL的方式 我编写这个php脚本是为了搜索打开的选项卡。我使用了php,因此需要安装php5 cli或更新的软件包 您需要调整$displayOnlyStactiveUrl

有没有办法至少使用bash在firefox浏览器中获取当前打开的选项卡。
换句话说,从该页面中包含的文件浏览器中调用bash脚本的选项卡的url

我偶然发现:

#!/bin/bash
for var in "$@" 
do
    #
    #
done

$@包含选项卡的url

Firefox在版本33中改变了在硬盘上存储URL的方式

我编写这个php脚本是为了搜索打开的选项卡。我使用了php,因此需要安装php5 cli或更新的软件包

您需要调整$displayOnlyStactiveUrl以满足您的需要:设置为false以显示所有打开的url,设置为true以显示最后一个活动打开的url

脚本可能需要改进,但它符合我的需要

已知的限制:

如果您在firefox中设置了多个配置文件,则可能无法查看良好的配置文件

更新可能需要10秒钟

如果选择输出所有URL,可能会出现一些关闭的选项卡

只需使用上述内容创建一个php文件,并使用php yourfile.php在shell中运行它


当你说调用bash脚本的选项卡时,我不清楚你在说什么。选项卡如何在您的系统中调用bash脚本?我的意思是调用:想象一个网页,其中有一个文件浏览器来选择应用程序。在bash脚本中,我告诉系统打开另一个网站的url,其中一个参数是当前选项卡的url。我不确定我是否清楚,但简单地说:我想知道我是否可以使用xdool或任何其他工具获取web浏览器活动选项卡的url。请给出正确答案。你怎么能用这个
<?php
//
// Display curent opened URLs in firefox.
// Author: Julien Marin (malinuxtele[AT]tuxfamily[DOT]org)
// Licence: GPL 3
//

$displayOnlyLastActiveUrl=true; //set to false to display all opened url, true for last active opened URL

//Search for restore.js (might need to be improved for multiprofiles environement...)
if (!$profileIniContents=fopen(getenv("HOME")."/.mozilla/firefox/profiles.ini", "r")) trigger_error("unable to open profiles file", E_USER_ERROR);
$profile="";
$ar_match=array();
while ($ligne=fgets($profileIniContents))
    if (preg_match("/Path=([^.]*)[.]default/", $ligne, $ar_match))
        $profile=$ar_match[1];

//Open recovery.js file
if(! $recoveryFileHandle=fopen(getenv("HOME")."/.mozilla/firefox/$profile.default/sessionstore-backups/recovery.js", "r")) trigger_error("unable to open recovery.js file", E_USER_ERROR);
$recoveryData=json_decode(fread($recoveryFileHandle, 4000000), true);

//parse data
$ar_tabs=array();
foreach ($recoveryData["windows"] as $actWindow)
    foreach ($actWindow["tabs"] as $actTabGroup)
    {
        $lastAccess=$actTabGroup["lastAccessed"];
        foreach ($actTabGroup["entries"] as $actTabEntry)
            if(!$displayOnlyLastActiveUrl) echo($actTabEntry["url"]."\n");
            else $ar_tabs[$lastAccess]=$actTabEntry["url"];

    }

//search last URL
if ($displayOnlyLastActiveUrl)
{
    ksort($ar_tabs);
    echo array_pop($ar_tabs);
}

?>