如何使用脚本编辑器和JavaScript访问Chrome活动标签网址

时间:2016-08-01 19:22:33

标签: javascript macos applescript jxa

我尝试使用JavaScript而不是AppleScript编写我的第一个OS X脚本,并且遇到了一些问题。第一部分是从Chrome中的标签中获取网址,以便我可以对其进行更多工作(例如,在Safari中创建新的阅读列表项)。我尝试过以下代码:

var safari = Application('Safari');
var chrome = Application('Google Chrome');
chrome.activate();
var url = chrome.windows[0].tabs[0].get('url'); // This returns an ObjectSpecifier
safari.addReadingListItem(url, {andPreviewText: 'Added from Chrome'});

此操作失败,错误:"错误-1700:无法转换类型。"我需要一个字符串,但这仍然是一个Object说明符。所以我想我不会从.get('url')

取回字符串

我没有幸运找到从脚本环境中提取价值的例子,但我已经看到了一些关于将新标签放入浏览器的问题。对此有任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

要获取活动标签的网址,请执行以下操作:

Application('Chrome').windows[0].activeTab.url()

答案 1 :(得分:-1)

经过多次挖掘后,我追踪了你应该做的事情。记录在这里:Apple Documentation

属性作为对象说明符返回,要从对象说明符中获取值,请将其称为函数:

chrome.windows[0].tabs[0].url(); // the string value of the URL

可以使用=设置可设置的属性。这不适用于只读值(在脚本编辑器的“库”面板中标记为:

chrome.windows[0].tabs[0].url = "http://example.com";