Вы можете сделать цикл для работы со всеми вкладками в самом переднем окне, как это:
set myList to {{"ask","#5cdf64"}, {"yesterday", "#FFFF00"}, {"more random e.g", "#FF0000"}}
tell application "Safari"
activate
set theWindow to front window
tell theWindow
set tabCount to count of tabs
repeat with tabIndex from 1 to tabCount
set current tab to tab tabIndex
tell current tab
repeat with colourPair in myList
do JavaScript "document.designMode = 'on'"
do JavaScript "var sel = window.getSelection(); sel.collapse(document.body, 0); while (window.find('" & (item 1 of colourPair) & "', true)) {document.execCommand('HiliteColor', false, '" & (item 2 of colourPair) & "');}"
do JavaScript "document.designMode = 'off'"
end repeat
end tell
end repeat
end tell
end tell
Ваш JavaScript будет тогда указывать на правую вкладку без необходимости жестко кодировать ссылки на окно иtab.
Ваше требование назначить свой цвет каждому экземпляру в myList выполняется с помощью «списка списков» с парами поискового запроса и цветового кода.
Я думаю, что прокрутка как-то связана с sel.collapseToEnd()
, что, я думаю, вам не нужно.