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, время: 21:07. |