Infinite scroll (javascript) seems to bug after update to 14.0.1
web page calls script as follows:
<script type='text/javascript' src='/helpers/js/infinite.js'></script><script>var getNext=6;var pgn = 5;setInterval(scroll, 1000);</script>
infinite.js is a simple ajax call that reads next [pgn] articles starting at [getNext]. After upgrade to 14.0.1, the script doesn't seem to load with the page. When I switch to console, it takes up to 30 seconds for the script to load and execute, after which functionality is as before. This problem is unique to Firefox and occurs only since the upgrade. All platforms (Mac, Windows) are affected.
Modified
Chosen solution
Well, I tried my own medicine and can't get the script to work at all in Safe Mode. Hah! Apologies for blaming your system.
The problem seems to be the Google fonts. You have this in your page:
<link href='http://fonts.googleapis.com/css?family=Josefin+Sans' rel='stylesheet' type='text/css'> <link href='http://fonts.googleapis.com/css?family=Quattrocento+Sans' rel='stylesheet' type='text/css'>
Which imports these style sheets:
@font-face { font-family: 'Josefin Sans'; font-style: normal; font-weight: 400; src: local('Josefin Sans'), local('JosefinSans'), url(http://themes.googleusercontent.com/static/fonts/josefinsans/v3/xgzbb53t8j-Mo-vYa23n5nhCUOGz7vYGh680lGh-uXM.woff) format('woff'); }
@font-face { font-family: 'Quattrocento Sans'; font-style: normal; font-weight: 400; src: local('Quattrocento Sans'), local('QuattrocentoSans'), url(http://themes.googleusercontent.com/static/fonts/quattrocentosans/v5/efd6FGWWGX5Z3ztwLBrG9b2aU247V0zTzydO4RoO9Ok.woff) format('woff'); }
For some reason, the infinite.js isn't kicking in for me when I allow these fonts to load. (Normally NoScript blocks font downloads from sites that I haven't previously set to "trusted".)
There is a preference you could toggle to experiment with this:
(1) In a new tab, type or paste about:config in the address bar and press Enter. Click the button promising to be careful.
(2) In the filter box, type or paste gfx and pause while the list is filtered
(3) Double-click gfx.downloadable_fonts.enabled to toggle it to false.
(4) In a tab with the joelix.com website, use Ctrl+Shift+r to force a reload that bypasses the cache. Then try the Ctrl+End test. Any change?
So what does that mean if it's correct? I'm not sure. Perhaps something in the script is not designed for pages that change fonts??
Read this answer in context 👍 1All Replies (10)
I took a peek using both Console and Firebug and the .js file loaded immediately after the .css files, before the .jpg files. Not sure whether there is a difference between your configuration and mine; it certainly is possible. Have you noticed any deferral of other scripts?
More generally, when you have a problem with one particular site, a good "first thing to try" is clearing your Firefox cache and deleting your saved cookies for the site.
1. Clear Firefox's Cache
orange Firefox button or Tools menu > Options > Advanced
On the Network mini-tab > Offline Storage : "Clear Now"
2. If needed, delete the site's cookies here
While viewing a page on the site, right-click and choose View Page Info > Security > "View Cookies"
Then try reloading the page. Does that help?
The problem seems unrelated to cache. This site (the CMS that runs it, actually) does not use cookies. Note that the problem occurs when opening the site in Firefox the first time (but it is unique to Firefox, so the network connection can be ruled out). I am uncertain whether the console is related, but I have the impression the problem "goes away" whenever I open the console to check the script for loading.
If I open the page again and press Ctrl+End to hit the bottom of the document, I get new articles within 3 seconds. If I Ctrl+Home back to the top, Ctrl+Shift+r to force reload everything, then repeat the Ctrl+End experiment, I still get new articles within 3 seconds.
A standard diagnostic for ruling out interference by add-ons is to try Firefox's Safe Mode.
First, I recommend backing up your Firefox settings in case something goes wrong. See Back up and restore information in Firefox profiles. (You can copy your entire Firefox profile folder somewhere outside of the Mozilla folder.)
Next, restart Firefox in Firefox's Safe Mode (Diagnose Firefox issues using Troubleshoot Mode) using
Help > Restart with Add-ons Disabled
In the Safe Mode dialog, do not check any boxes, just click "Continue in Safe Mode."
If the site works correctly, this points to one of your add-ons or custom settings as the problem.
Any change?
The problem persists in safe mode. There is no relation to the method of scrolling (using keys, scroll wheel, scrollbar, or indeed control-end).
did some more testing and I am now starting to believe that the problem "goes away" as soon as I open the console. I left the page open (scrolled to bottom) for several minutes and the script did not run. As soon as I opened the console, the script loaded and the extra content was read.
Chosen Solution
Well, I tried my own medicine and can't get the script to work at all in Safe Mode. Hah! Apologies for blaming your system.
The problem seems to be the Google fonts. You have this in your page:
<link href='http://fonts.googleapis.com/css?family=Josefin+Sans' rel='stylesheet' type='text/css'> <link href='http://fonts.googleapis.com/css?family=Quattrocento+Sans' rel='stylesheet' type='text/css'>
Which imports these style sheets:
@font-face { font-family: 'Josefin Sans'; font-style: normal; font-weight: 400; src: local('Josefin Sans'), local('JosefinSans'), url(http://themes.googleusercontent.com/static/fonts/josefinsans/v3/xgzbb53t8j-Mo-vYa23n5nhCUOGz7vYGh680lGh-uXM.woff) format('woff'); }
@font-face { font-family: 'Quattrocento Sans'; font-style: normal; font-weight: 400; src: local('Quattrocento Sans'), local('QuattrocentoSans'), url(http://themes.googleusercontent.com/static/fonts/quattrocentosans/v5/efd6FGWWGX5Z3ztwLBrG9b2aU247V0zTzydO4RoO9Ok.woff) format('woff'); }
For some reason, the infinite.js isn't kicking in for me when I allow these fonts to load. (Normally NoScript blocks font downloads from sites that I haven't previously set to "trusted".)
There is a preference you could toggle to experiment with this:
(1) In a new tab, type or paste about:config in the address bar and press Enter. Click the button promising to be careful.
(2) In the filter box, type or paste gfx and pause while the list is filtered
(3) Double-click gfx.downloadable_fonts.enabled to toggle it to false.
(4) In a tab with the joelix.com website, use Ctrl+Shift+r to force a reload that bypasses the cache. Then try the Ctrl+End test. Any change?
So what does that mean if it's correct? I'm not sure. Perhaps something in the script is not designed for pages that change fonts??
Also, if I use
View (Alt+v opens the classic View menu) > Page Style > No Style
Then the script works. Whether it's an issue in the script or a bug in Firefox, there's definitely something going on here.
You're right, it's google fonts preventing the script to execute properly. Opening the console forces something inside Firefox to execute the script after all. Since this has started with the update to 14.0.1, I'd say definitely a bug in Firefox and I will report it as such.
Thank you for helping out with this.
Bug for reference: 777876 – Using Google Web Fonts prevents javascript loading/execution.
Thanks, it seems that the problem has been resolved with your information.
gfx.downloadable_fonts.enabled;false
After that the javascript goes way...