2016-08-01 54 views
1

我想用JavaScript代替AppleScript編寫我的第一個OS X腳本,並且遇到了一些問題。第一部分是從Chrome中的一個標籤獲取URL,以便我可以做更多的工作(例如,在Safari中創建一個新的閱讀列表項)。我試過下面的代碼:如何使用腳本編輯器和JavaScript訪問Chrome活動標籤URL

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:無法轉換的類型。」我需要一個字符串,但這仍然是一個對象說明符。所以我想我不會從.get('url')

得到一個字符串回來,我還沒有得到任何運氣找到拉動值從腳本環境的例子,但我已經看到了一些關於把新的標籤到瀏覽器中。任何幫助,這是讚賞!

回答

-1

經過更多的挖掘,我追蹤了你應該做的事情。這裏記載:Apple Documentation

屬性返回爲對象說明符,要得到一個對象說明符的值,你怎麼稱呼它像一個功能:

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

可設置的屬性可以用=進行設置。這並不適用於只讀值(在腳本編輯器標註,庫面板中:

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

這並沒有回答你自己的問題,它得到了第一個標籤的URL,而不是活動標籤的URL – user137369

+0

考慮到我問了這個問題,現在它適用於我,我想我會是正確的判斷嗎?下次,要求澄清...我真的意味着任何選項卡,但提到'主動'作爲一個例子。如果你仔細閱讀,實際的問題是處理'url ',而不是哪個標籤。 – drewpotential

1

要獲得活躍標籤的URL,這樣做:

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