Cerca nel supporto

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

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

  • Nessuna risposta
  • 1 ha questo problema
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?

Modificato da rostranjj il

Bisogna accedere al proprio account per rispondere nelle discussioni. Se non si possiede ancora un account, inserire una nuova richiesta.