2013-07-01 2 views
1

Я ищу способ закрыть конкретные вкладки в сафари по URL-адресу. я бы, вероятно, расширить на что-то вроде этого:Как закрыть вкладки сафари по URL-адресу, используя applescript

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

Вы можете получить URL-адрес из Safari на основе активной вкладки.

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

Это не будет работать, потому что «набор обув на имя thistab "не будет соответствовать URL-адресу. – adayzdone

+0

Вы правы, я редактировал код: 'set foo to URL of thistab' – chesh

+0

' count tabs of window 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

для меня он компилируется, но ничего не делает, когда я запускаю его. Кажется, не имеет значения, является ли url from closeURL частичным или точным совпадением. Есть идеи? Если это помогает, я использую сафари 6.0.5 на osx 10.8.4. – Rene

+0

Это работает для меня в Snow Leopard и 10.8.4 Version 6.0.5 (8536.30.1) – adayzdone

Смежные вопросы