userscripts "История фрейма"
Добрый вечер!
Возможно ли в userscripts реализовать мониторинг ифрейма на определенном сайте, а именно сохранять в log файл адреса ифрейма при каждом его обновлении или через определенный промежуток времени? :cray: |
А ты попробуй.
|
danik.js,
пжлста можно примерчик, userscripts еще только пытаюсь осваивать ... |
А ты пока просто скрипт сделай. Не "user"
|
danik.js,
Пойду учить мат.часть...:write: т.к просто скрипты тоже только осваиваю... :cray: |
Прошу помощи ... получилось получать текущий адрес ифрейма и записывать его в массив, скрипт работает постоянно в цикле и проверяет идентичность текущего адреса ифрейма и последней строки массива, и если они не равны - записывать новый адрес в конец массива и т.д.
Может возможно обойтись без цикла? Есть какая нибудь возможность отлавливать обновление ифрейма и только тогда получать его адрес? |
Под циклом ты setInterval подразумеваешь? Вот по событию:
<iframe src="http://javascript.ru" frameborder="0"></iframe> <script> var frame = document.querySelector('iframe'); frame.onload = function(e) { alert('Фрейм загружен'); }; </script> |
Вот набросал userscript, который запускается на определенном сайте и отслеживает на нем обновление ифрейма и записывает адреса новых ифреймов в массив. Но не могу побороть такую проблему! ... надо чтобы адреса добавлялись в массив с каждым вызовом функции при обновлении ифрейма, а функция создает массив заново?
// ==UserScript== // @name MainJS // @description Iframe // @include [url]https://web-base.*[/url] // ==/UserScript== //alert('test'); //var urr; var arr = []; arr.push('https://web-base/index/'); var iframe = document.getElementById('BaseFrame'); var urr = iframe.contentWindow.location; function refresh( ) { var lastItem = arr[arr.length-1]; if (urr !== lastItem) { arr.push(urr); alert(lastItem); } else { alert(arr); } } if (iframe.attachEvent) iframe.attachEvent('onload', refresh); else iframe.attachEvent('load', refresh, false); |
Цитата:
Цитата:
Ты че, в IE чтоли тестишь ? :D |
в IE .... :cray: сайт в локальной сети заточен под IE8. При каждом обновлении фрейма алерт выводит на экран массив в котором только два адреса - первый который "https://web-base/index/" и второй адрес полученный от фрейма, а надо чтобы адреса накапливались в массиве.
|
Часовой пояс GMT +3, время: 14:09. |