Как отключить все события JS на веб-странице, загруженной в iframe - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть веб-страница, на которой есть события JS click / mouseover / mouseout / scroll, а также несколько библиотек JS для загрузки карусели, загрузки модального загрузчика и т. Д.

Я хочу остановить все события на элементе.

Мне удалось отменить привязку нескольких событий щелчка на html, однако я не смог отменить привязку событий стороннего JS, который используется для перемещения всплывающего окна карусели / показа и т. Д.

Я пытался использовать:

window.onload = function(){
    var anchors = document.getElementsByTagName("a");
    for(var a in anchors){
        anchors[a].onclick = function(e){
            e.preventDefault();
        }
    }

    var divs = document.getElementsByTagName("div");
    for(var d in divs){

        if (divs[d].removeEventListener) {
          console.log("click removed eee"); 
          // For all major browsers, except IE 8 and earlier
            divs[d].removeEventListener("click", function(){ console.log("click removed"); });
        } else if (divs[d].detachEvent) {                    // For IE 8 and earlier versions
          console.log("click detached eee"); 
            divs[d].detachEvent("click", function(){ console.log("click detached"); });
        }
    }
};

Перенаправление якоря было успешно остановлено. Однако события click на div все еще работали. Пожалуйста, помогите мне, как остановить привязку всех событий на веб-странице.

Вот как поживает гугл?

https://www.google.com/webmasters/markup-helper/tagger?sourceId=104528819

Там загрузите страницу в конце, отрендерите ее с помощью iframe и отмените привязку всех событий. Что они могли сделать?

1 Ответ

0 голосов
/ 13 ноября 2018

Вы не упомянули, что ваше содержимое внутри iframe принадлежит другому домену или из того же самого?

В случае, скажем, если содержимое вашего iframe не из другого домена.тогда ниже решение работает для вас.

document.getElementById('edit').contentWindow.addEventListener('keypress', cK, true);

для более подробной информации см. this .

Дайте мне знать вашу точку зрения.Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...