Open ghost opened 10 years ago
@stapi23 Same problem - but I hadn't realised that reloading the page would trigger Nosquint! Thanks for the tip - it would be good to have it fixed but it helps to know that in the meantime.
I do hope Jason is able to continue maintaining Nosquint - accessing the internet would be so difficult without it!
Also have this problem, is there any way to fix this?
Same here. Didn't know about the refresh trick either, thanks :P And it's the same with Facebook when an embedded youtube video is played
Hi,
since this bug annoyed me for a too long time, I've debugged it and found the code where it originates from:
File (in the xpi): chrome/nosquint/content/lib.js In the repository: https://raw.githubusercontent.com/jtackaberry/nosquint/master/src/content/lib.js
/* In the common case, document.URL == browser.currentURI.spec, so we test
* this simple equality first before resorting to the probably unnecessary
* regexp call.
*/
if (document.URL != browser.currentURI.spec &&
document.URL.replace(/#.*$/, '') != browser.currentURI.spec.replace(/#.*$/, ''))
/* Kludge: doc.URL doesn't match browser currentURI during host lookup failure,
* SSL cert errors, or other scenarios that result in an internal page being
* displayed that we consider chrome.
*/
return true;
At the time when NoSquint doesn't set the zoom properly, the variables look like this:
So, what happens is, the above condition returns "true". That prevents NoSquint from applying your defined zoom because the function (which returned "true" in that case) is "isChrome()". That method is used to check whether the visited URL is a Firefox-internal page (for example "about:config") or a browser-internal error page for which no zoom should be applied.
To resolve the issue I'd remove the above code and replace
// A couple other common cases.
if (document.contentType == 'text/html' || document.contentType == 'application/xhtml+xml')
return false;
if (document.URL == undefined || document.URL.substr(0, 6) == 'about:')
return true;
with
// A couple other common cases.
if (document.URL == undefined || document.URL.substr(0, 6) == 'about:') {
return true;
if (document.contentType == 'text/html' || document.contentType == 'application/xhtml+xml')
return false;
That ensures that NoSquint still doesn't apply the zoom to Firefox-internal pages but can handle Youtube's (and other's) URL mismatch properly.
After that, the following two lines are obsolete:
if (document.URL == undefined)
return true;
Thanks for doing the leg work on this, @ManUnix. Clearly the original premise in that code isn't true (or is no longer true, anyway). I'll test this new logic out.
Hello
I have a problem with nosquint, when I go on youtube.com and type whatever I want to search in search bar, nosquint became disabled until I reload page.