如何在Linux / Mac / Windows上的节点/电子应用程序中获取浏览器活动标签URL?

时间:2017-11-27 11:41:55

标签: javascript node.js linux firefox electron

我正在寻找一种智能方法来获取跨平台电子应用的有效浏览器URL。我找到了一个使用AppleScript for Mac OS Safari和Chrome的解决方案,但仍然没有针对Firefox,Windows和Linux的解决方案:(

使用AppleScript在MacOS上使用Chrome和Safari的解决方案:

使用node-applescript我能够获得safari和chrome网址。不幸的是,Firefox不支持AppleScript,并且获取URL的方式很糟糕且在生产中无法使用。另外,我仍然不知道如何在Linux和Windows上获取URL。

const scripts = {
  'chrome': `tell application "Google Chrome" to get URL of active tab of front window as string`,
  'vivaldi': `tell application "Vivaldi" to return URL of active tab of front window`,
  'safari': `tell application "Safari" to return URL of front document as string`,
  'firefox': `tell application "Firefox" to activate
  tell application "System Events"
    keystroke "l" using command down
    keystroke "c" using command down
  end tell
  delay 0.5
  return the clipboard`,
}

1 个答案:

答案 0 :(得分:0)

对于Linux,请尝试命令wmctrl。如果网页上没有标题标签,wmctrl应该在标题栏中显示完整的网址。