Cerca nel supporto

Attenzione alle mail truffa. Mozilla non chiederà mai di chiamare o mandare messaggi a un numero di telefono o di inviare dati personali. Segnalare qualsiasi attività sospetta utilizzando l'opzione “Segnala abuso”.

Learn More

Questa discussione è archiviata. Inserire una nuova richiesta se occorre aiuto.

window.scrollBy() gets sent back after returning from window.click in `content_script.js`

  • Nessuna risposta
  • 1 ha questo problema
  • 3 visualizzazioni
more options

I'm practicing my Javascript with a very simple static HTML page.

I have a sticky footer on top set with CSS. I attached click events to the page's menu anchor tags to jump to the section in the page. Since the header is fixed, the jumped-to section will be covered by the fixed header's height. Therefore I have something like this in my JS script.

     elemTarget.scrollIntoView(true);
     window.scrollBy(0, -parseInt(fixedHeaderHeight.slice(0, 2)));

I have run this in the debugger and everything works in my script. The page gets scrolled back to header's height. However, when I keep on entering the scripts built-in Firefox I stumble upon a function that register's a click event in `content_script.js`.

this one:

window.addEventListener("click", function(e){

 if ( document.body.classList.contains("js-fbc-prompt-active") ) {
   const activePrompt = findActivePrompt();
   const activePromptTarget = document.querySelector(".fbc-has-badge.js-fbc-prompt-active");
   if ( !activePrompt.contains(e.target) && !activePromptTarget.contains(e.target) ) {
     closePrompt();
   }
 } else {
   contentScriptInit(true);
 }

});

after returning from the function above, window.scrollBy() gets undone, meaning that my section's title gets covered by my fixed header.

Why is this happening? Shouldn't this script NOT intervene with anything that happens in my own script?

I'm practicing my Javascript with a very simple static HTML page. I have a sticky footer on top set with CSS. I attached click events to the page's menu anchor tags to jump to the section in the page. Since the header is fixed, the jumped-to section will be covered by the fixed header's height. Therefore I have something like this in my JS script. elemTarget.scrollIntoView(true); window.scrollBy(0, -parseInt(fixedHeaderHeight.slice(0, 2))); I have run this in the debugger and everything works in my script. The page gets scrolled back to header's height. However, when I keep on entering the scripts built-in Firefox I stumble upon a function that register's a click event in `content_script.js`. this one: window.addEventListener("click", function(e){ if ( document.body.classList.contains("js-fbc-prompt-active") ) { const activePrompt = findActivePrompt(); const activePromptTarget = document.querySelector(".fbc-has-badge.js-fbc-prompt-active"); if ( !activePrompt.contains(e.target) && !activePromptTarget.contains(e.target) ) { closePrompt(); } } else { contentScriptInit(true); } }); after returning from the function above, window.scrollBy() gets undone, meaning that my section's title gets covered by my fixed header. Why is this happening? Shouldn't this script NOT intervene with anything that happens in my own script?

Modificato da rostranjj il