เป็นไปได้ที่จะใช้สคริปต์:
tell application "Safari"
set urls to URL of every tab of every window
end tell
เมื่อดำเนินการรับ URL ทั้งหมดของทุกแท็บของทุกหน้าต่าง (รายการสองมิติ)
Result:
{{"http://domain1", "http://domain2", ...}, {"http://domain3", "http://domain4", ...}, {...}}
แต่มันเป็นไปได้ด้วย:
tell application "Safari"
set (urls & name) to URL of every tab of every window
end tell
เพื่อรับบันทึกแทนรายการ:
Result:
{{{url: "http://domain1", name: "domain1 - foo"}, {url: "http://domain2", name: "domain2 - bar2"}, {...}}, {{url: "http://domain3", name: "domain3 - foo3"}, {url: "http://domain4", name: "domain4 - bar4"}, {...}}}
เป็นไปได้หรือฉันควรใช้เท่านั้นrepeat
?
{|safari|: {{|window_1|: {|url|: "http://url1", |name|: "title 1"}, {|url|:"http://url2", |name|:"title 2"}},{|window_2|: {|url|: "http://url3", |name|: "title 3"}, {|url|:"http://url4", |name|:"title 4"}}}}
หรือไม่ เพื่อให้ฉันสามารถแปลงบันทึกเป็น json (เช่นกับJSON Helper
) และยังคงมีโครงสร้างหน้าต่างซาฟารี? ฉันเขียนสคริปต์เพื่อให้ทุกคนได้รับสตริง - เบส (ไม่ใช่การบันทึก - / ลิสต์ - เบส, สิ่งที่ฉันต้องการ) และมันเป็นโค้ดประมาณ 200 บรรทัดพร้อมรูทีนย่อย 3 ตัวและดูน่าเกลียดแม้กระทั่งสำหรับตัวเอง