同じこと考えるヒトがいるもんですね(^_^)
最近やっとまともに動作するようになったんですけど、いちおー複数ウィンドウとウィンドウサイズ復帰に対応してます。
ただし保存したら、全ウィンドウが閉じてしまうのは仕様なので、気に入らなかったら書き換えて下さい(T_T)
私はスクリプトメニュー有効にして、Safariスクリプトフォルダに入れて使用してます。
ちょっと長いけど2つに分けてコピペ。
注意点は2点。
1)URLを再読み込みするのでタブの復帰途中に、読み込みに時間のかかるかなり重たいページや、
サーバからのレスポンスが悪いページが間にあると、Receiveエラーで処理が中断してタブの復帰が停止します(T_T)
が、再度復帰実行すれば、キャッシュが使用されるので大体うまく復帰できます。
(このへんはWaitブロック入れるなりしたら止まることは無くなるかもしれませんけど)
2)IntelMacのヒトは"UI elements enabled"が動作しないみたい
(get propertiesがUI elements enabled:trueじゃなくてmissing valueになる)
だから"if UI elements enabled then"→"if true then"に置換して下さいな♪
=-=-=-=-=-=-==-
property tList : ""
property urls : {}
property wbounds : {}
global bb
on run
tell application "System Events"
get properties
if UI elements enabled then
tell application "Safari"
if (count every document) is 0 then
set ssss to "過去のウィンドウ情報に復帰しますか?"
set sss to "復帰"
else
set ssss to "全てのウィンドウ情報を保存しますか?"
set sss to "保存"
end if
end tell
display dialog ssss buttons {"保存", "復帰", "キャンセル"} default button sss
set theResults to result
if button returned of theResults is "保存" then
my save_tab()
end if
if button returned of theResults is "復帰" then
--choose from list tList
my resume_tab()
end if
else
tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.universalaccess"
display dialog "「UI element scripting」" & return & "が使用できません。" & return & "「補助装置を使用可能にする」を" & return & "チェックして「入」にしてから" & return & "このスクリプトを実行して下さい。" with icon 0
end tell
end if
end tell
end run