Why does Stacks scroll to the top of the page when I make changes?

0 votes
asked Aug 6, 2016 in Stacks by q2aadmin (2,975 points)

This happens when I move a stack, add a stack, or remove a stack. It suddenly scrolls to the top of the page.

1 Answer

0 votes
answered Aug 6, 2016 by q2aadmin (2,975 points)
edited Aug 6, 2016 by q2aadmin

The most common cause of this problem is when Stacks is having trouble rendering the content on the page. When the content on the page has errors Stacks may have trouble maintaining the scroll position.

The usual cause of this is when you've added Styled Text, HTML, or CSS content that RapidWeaver cannot render.

Detail about the problem

  • Styled Text
    The RapidWeaver Styled Text --> HTML rendering engine cannot handle all possible Rich Text styles. Some things that you can do in Microsoft Word don't have an HTML equivalent. This happens when you copy and paste styled text from another app like Microsoft Word or Safari. To avoid this hold down the option key while pasting. This will "Paste as Plain Text" into RapidWeaver and completely eliminates the issue.

  • HTML and CSS
    It's very easy to make errors when typing in code. Even small errors, like using a curly quote character instead of a standard quote character can make all the difference. I usually recommend with something like https://jsfiddle.net to make sure your code is error free before putting it into a complex page. Trying to debug code in the midst of a large page is difficult or impossible.

  • Javascript?
    While Javascript would normally be on the suspect list, it's isn't applicable here -- the Stacks edit mode disables Javascript execution completely, so you don't have to worry about that bit. Yeah!

How to find the problem

First things first -- before we start making radical changes or running tests -- make a backup of your important work -- and then just work on a dummy copy of your file -- one that you can throw out when you've managed to find the issue

  • If the page is not too big or complex the easiest way to find the problem is to delete each stack, and test after each. If the scrolling problem goes away then you know it was in the stack you've just deleted.

  • If the page is very large (as is often the case in these scenarios) you can use divide and conquer to find the culprit.

    I know what you're thinking, "my page is too big for this," but let me assure you that it isn't. In just 10 tests (about 2-3 minutes of effort) you can isolate a culprit in 2^10 stacks using divide and conquer. That means, in a very short amount of time you can find a problem among 1024 stacks..

    1. Remove half of the stacks on the page.
    2. Retest to see if the scrolling problem remains
    3. If the problem is gone then you know that it was in the stacks you remove. So choose Undo to bring them back and delete the other half instead.
    4. If the problem remains and there are still lots of stacks on the page, repeat the process.
      Continue until you're left with only the culprit.

Is user content always the problem?

Not always, but often. Sometimes a bug can slip through on a 3rd party stack or even a built-in stack that causes the problem. These tend to be a bit rarer since those things get quite a bit of testing and use. But if you do encounter one of these bugs, send the issue to the developer along with the file that has all but the single stack removed. With that laser focus, bug fixing is usually quick and easy.