24.12.2014 | 22:29
AppleScript odgovor na pitanje "zna li netko kako dobiti sve linkove svih trenutno otvorenih tabova u Safariju bilo u clipboard bilo u textfile?" (john_st u Vikalici).
tell application "Safari"
set links to ""
set openTabs to tabs of window 1
repeat with singleTab in openTabs
set current tab of window 1 to singleTab
set linksCount to do JavaScript "document.links.length" in document 1
repeat with i from 0 to (linksCount - 1)
set link to do JavaScript "document.links[" & i & "].href" in document 1
set links to links & link & linefeed
end repeat
end repeat
set the clipboard to links
end tell
Objašnje koda: obraćamo se Safariju i preuzimamo popis svih otvorenih tabova (uz pretpostavku da je otvoren samo jedan Safarijev prozor). U petlji mijenjamo aktivne tabove i preko JavaScripta kupimo ukupni broj linkova u DOM-u za svaki tab. Nakon toga ulazimo u drugu petlju koja svaki od linkova doda na zajednički popis, u "links" varijablu koju na kraju kopiramo u clipboard (odakle se može dalje pejstati sa CMD+V).