У меня есть веб-сайт, который активно работает с помощью фреймов и изменяет содержимое в зависимости от того, какая кнопка на боковой панели нажата.
Я хотел бы либо:
a) запуститьмой JS-код автоматически каждые 5 секунд (я знаю, в крайнем случае ...)
b) запускает JS, если в iframe обнаружено какое-либо изменение (не только при загрузке содержимого кадра, но икогда содержимое кадра обновляет данные)
У меня есть идентификатор поля iframe, но я не могу добавить прослушиватель, который фактически запускается после того, как в содержимом iframe произошли какие-либо изменения.Все нижеприведенные триггеры не обрезают его:
// no error
chrome.storage.local.get("obj", function (res) {
console.log("setting page data object from listener:");
console.log(res);
var iframe_id = res.obj.iframe_id;
document.getElementById(iframe_id) && document.getElementById(iframe_id).addEventListener("change", function () {
console.log("iFrame updated");
findKeyword();
});
});*/
// no error
chrome.storage.local.get("obj", function (res) {
console.log("setting page data object from listener:");
console.log(res);
var iframe_id = res.obj.iframe_id;
$(iframe_id).find("body").on('mouseup', function(event) {
console.log("iFrame updated");
findKeyword();
});
});
// error - Cannot read property 'contentDocument' of null
chrome.storage.local.get("obj", function (res) {
console.log("setting page data object from listener:");
console.log(res);
var iframe = document.getElementById(res.obj.iframe_id);
iframe.contentDocument.body.addEventListener('change', function() {
console.log("iFrame updated");
findKeyword();
});
});
Большое спасибо, A2k