2

Есть ли способ использовать Safari 4 в Mac OS X для перезагрузки веб-страницы каждые N минут для каждой вкладки?

4 ответа4

3

Просто используйте букмарклет (кусок JavaScript, который вы можете добавить в закладки). Вот тот, который я нашел много лет назад, и он мне хорошо послужил:

javascript:(function(p){open('','',p).document.write('%3Cbody%20id=1%3E%3Cnobr%20id=2%3E%3C/nobr%3E%3Chr%3E%3Cnobr%20id=3%3E%3C/nobr%3E%3Chr%3E%3Ca%20href=%22#%22onclick=%22return!(c=t)%22%3EForce%3C/a%3E%3Cscript%3Efunction%20i(n){return%20d.getElementById(n)}function%20z(){c+=0.2;if(c%3E=t){c=0;e.location=u;r++}x()}function%20x(){s=t-Math.floor(c);m=Math.floor(s/60);s-=m*60;i(1).style.backgroundColor=(r==0||c/t%3E2/3?%22fcc%22:c/t%3C1/3?%22cfc%22:%22ffc%22);i(2).innerHTML=%22Reloads:%20%22+r;i(3).innerHTML=%22Time:%20%22+m+%22:%22+(s%3C10?%220%22+s:s)}c=r=0;d=document;e=opener.top;u=prompt(%22URL%22,e.location.href);t=u?prompt(%22Seconds%22,60):0;setInterval(%22z()%22,200);if(!t){window.close()}%3C/script%3E%3C/body%3E')})('status=0,scrollbars=0,width=100,height=115,left=1,top=1')

А вот отредактированная версия этой закладки, которая удаляет подсказку URL и просто использует URL текущей вкладки:

javascript:(function(p){open('','',p).document.write('%3Cbody%20id=1%3E%3Cnobr%20id=2%3E%3C/nobr%3E%3Chr%3E%3Cnobr%20id=3%3E%3C/nobr%3E%3Chr%3E%3Ca%20href=%22#%22onclick=%22return!(c=t)%22%3EForce%3C/a%3E%3Cscript%3Efunction%20i(n){return%20d.getElementById(n)}function%20z(){c+=0.2;if(c%3E=t){c=0;e.location=u;r++}x()}function%20x(){s=t-Math.floor(c);m=Math.floor(s/60);s-=m*60;i(1).style.backgroundColor=(r==0||c/t%3E2/3?%22fcc%22:c/t%3C1/3?%22cfc%22:%22ffc%22);i(2).innerHTML=%22Reloads:%20%22+r;i(3).innerHTML=%22Time:%20%22+m+%22:%22+(s%3C10?%220%22+s:s)}c=r=0;d=document;e=opener.top;u=e.location.href;t=u?prompt(%22Seconds%22,60):0;setInterval(%22z()%22,200);if(!t){window.close()}%3C/script%3E%3C/body%3E')})('status=0,scrollbars=0,width=100,height=115,left=1,top=1')
1

Вы можете использовать AppleScript, чтобы сделать это. Вот как перезагрузить каждую открытую вкладку каждые 5 секунд:

tell application "Safari"
    repeat
        repeat with aTab in (every tab of every window)
            set URL of aTab to (URL of aTab)
        end repeat
        delay 5
    end repeat
end tell

Вы можете выполнить некоторую фильтрацию внутри повтора с помощью блока repeat with aTab чтобы обновить только определенные вкладки (основанные на URL, заголовке и т.д.).

1

Safari Page Monitor.

Этот настраиваемый AppleScript следит за одной или несколькими веб-страницами через Safari, перезагружая их через определенные промежутки времени и сообщая о любых обнаруженных им изменениях, как в устной форме, так и через файл журнала сеанса.

Разработчик объясняет: «Я написал этот скрипт, чтобы следить за домашней страницей моего брата после того, как у них родился первый ребенок и они начали публиковать фотографии. Я вспомнил функцию мониторинга страниц в классической версии Internet Explorer и решил, что Safari нужно что-то сопоставимое ».


Эта ссылка, кажется, не работает в эти дни ...
Существует онлайн-альтернатива (если вы не хотите писать плагин снова).


Просто будьте осторожны, как и где вы используете это.

1

Если вы обновились до Safari 5, Apple добавила расширения для браузера. Я сделал тот, который делает только то, что вы просили.

Вы можете посмотреть на это здесь:Автообновление

Используйте Автообновление, чтобы настроить Safari на автоматическую перезагрузку. Идеально подходит для веб-разработки и мониторинга онлайн-аукционов, объявлений и новостей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .