2013-07-01 50 views
1

我正在尋找一種方式來關閉Safari瀏覽器中的特定標籤。 我可能會擴大是這樣的:如何通過使用蘋果鏈接的url關閉Safari瀏覽器

tell application "Safari" 
    repeat with t in tabs of windows 
     tell t 
      if name starts with "google.com" then close 
     end tell 
    end repeat 
end tell 

這裏的問題是,我還沒有找到一種方法,如何讓一個標籤的URL值,並基於該關閉它們。

回答

3

您可以根據活動選項卡從Safari獲取URL。

tell application "Safari" 
    set w to first window 
    set t to current tab of w 
    display dialog (URL of t as string) 
end tell 

然後你可以遍歷每個標籤/頁是這樣的:

tell application "Safari" 
    set windowCount to number of windows 
     repeat with x from 1 to windowCount 
      set tabCount to number of tabs in window x 
      repeat with y from 1 to tabCount 
       set thistab to tab y of window x 
       set foo to URL of thistab 
       if foo is not equal to "bar" then close thistab 
      end repeat 
     end repeat 
end tell 
+1

這是行不通的,因爲「設置FOO到的名稱thistab「將不匹配URL。 – adayzdone

+0

你是對的,我編輯了代碼:'設置foo到thistab的URL' – chesh

+0

'窗口i的標籤數量給我一個錯誤「Safari得到一個錯誤:AppleEvent處理程序失敗。編號-10000「。 – Rene

1

這裏是另一種方法:

set closeURLs to {"http://www.yahoo.com", "http://www.apple.com"} 

repeat with theURL in closeURLs 
    tell application "Safari" to close (every tab of every window whose URL contains (contents of theURL)) 
end repeat 
+0

這對我來說不適用於Safari 6.0.5(8536.30.1) – markhunte

+0

對我來說它編譯但是在我運行時什麼也不做。如果來自closeURL的網址是部分或完全匹配,似乎並不重要。有任何想法嗎?如果有幫助,我在osx 10.8.4上使用safari 6.0.5。 – Rene

+0

它適用於我在雪豹和10.8.4版本6.0.5(8536.30.1) – adayzdone

相關問題