0

I have a webpage which has JS click/mouseover/mouseout/scroll events and also it has few JS libraries to load carousel, bootstrap modal pop up etc.

I want to stop all events on the element.

I was successful to unbind few click events on html, however was not able to unbind events of the 3rd party JS which is used to slide the carousel / show bootstrap pop up etc.

I tried using :

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"); });
        }
    }
};

The anchor redirection was stopped successfully. However the click events on div was still working. Please help me out how to stop all events binding on webpage.

Here is how google is doing?

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

There download the page at their end, render it using iframe and unbind all events. What they might have done?

Vivek Tankaria
  • 1,301
  • 2
  • 15
  • 35
  • Not quite clear though... in question you say iframe, but in code I see parent dom events... do you inject your script inside iframe or what? Btw, the google link aint working. You could load the page via proxy and remove scripts, than show inside friendly iframe? – skobaljic Nov 11 '18 at 14:17
  • @skobaljic yes I injected my script in the HTML and loaded the whole HTML in iframe. The google link is working. Please recheck. – Vivek Tankaria Nov 11 '18 at 15:03
  • What google does is. It download the webpage. Save it in the HTML page. Stops all event binding and anchor redirection of that page. And render that HTML page in the iframe. The page loads as it used to load on browser, but without any effects and events binded to its element. – Vivek Tankaria Nov 11 '18 at 15:04

1 Answers1

0

You didn't mention the thing that, wheather your conent inside iframe is from another domain or from same?

In case of let say, if your iframe's content isn't from another domain. then below is the solution works for you.

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

for more details see the this.

Let me know your point of view. Thanks.

Priyal Pithadiya
  • 889
  • 1
  • 5
  • 12