Archive for the 'browsers' Category

Asynchronous inline scripts via data: URIs

Feb 9th, 2019

Inline scripts are synchronous. “Well, duh!” you may say. That’s a feature, not a bug. Because accessing a variable after an inline script should succeed. And that’s fine. But not great. When is this bad? Well, inline scripts cause stylesheets to be blocking. Wait, what? Steve explained it 10 years ago, and it’s still relevant […]


Defining user styles

Feb 5th, 2019

User styles have been around since the early days of the web. They are a way for users to specify their browsing preferences using CSS cascade. I remember way back when this option was fairly prominent in Internet Explorer settings. Now, I don’t even know how to find it in most browsers. But I did […]


Hello subpixel world

Feb 6th, 2014

Since IE9 and Firefox(v.?) we now have subpixel rendering of fonts. This is cool and all but imagine this: you have some text you want to measure the width of the text and size another element to the same dimensions Simple. But if you use offsetWidth/offsetHeight to measure, you get a rounded integer and not […]



Jun 16th, 2012

So I was flipping through recent slides from Steve Souders and came across a reference to a nice post from Pat Meenan explaining how he setup and how you can edit your hosts file to send third party scripts to the black hole simulating a firewall-blocked or down third party and the effect on […]


getUserMedia in Opera 12

Jun 14th, 2012

Opera 12 wins – the first stable desktop browser to ship getUserMedia(). I believe they had shipped it already in a mobile version of the browser. (I’ll need to fix my example from last night because Chrome Canary uses webkitGetUserMedia and also uses a stream URL to assign to video element’s src) You can start […]


When is a stylesheet really loaded?

Mar 17th, 2011

Often we want to load a CSS file on-demand by inserting a link node. And we want to know when the file finished loading in order to call a callback function for example. Long story short: turns out this is harder than it should be and really unnecessary hard in Firefox. I hereby beg on […]


Browser sniffing with conditional comments

May 13th, 2010

Browser sniffing is bad. But sometimes unavoidable. But doing it on the server is bad, because UA string is unreliable. The solution is to use conditional comments and let IE do the work. Because you’re targeting IE most of the times anyway. In fact IE8 is a decent browser for the most practical purposes and […]


Free-falling waterfalls

Dec 14th, 2009

2010 update: Lo, the Web Performance Advent Calendar hath moved Dec 14 This post is part of the 2009 performance advent calendar experiment. Stay tuned for the articles to come. In this serias of performance posts, so far we’ve looked at having fewer components in the waterfall (meaning less HTTP requests) and also making the […]


Browser’s implied globals

Oct 20th, 2009

Like it’s not bad enough that JavaScript has implied globals (forget var and you create a global), but the browsers have decided it’s a good idea to add more pollution to the global namespace. This has been a source of frustration before with IE, it’s really hard to understand the logic behind it, but it’s […]


Replace the Home button with a script

Mar 3rd, 2009

Robert Ames commented on my previous post suggesting replacing the Home button with my little site search bookmarklet. I didn’t even know this was possible, but I found it pretty cool, so I just had to try. x-browser I tried this in Firefox/Mac and IE/Windows and it works just fine. ok, what is it? Well, […]


Javascript console in IE

Oct 18th, 2008

I’m a sucker for consoles. The ability to quickly type some code and see it executed right then and there… priceless. That’s why I’m a huge fan of Firebug’s JavaScript console. But what about IE? option 1 – Firebug lite Firebug lite is a lighter version of the proper Firebug which runs in browsers other […]


a DOCTYPE is all it takes

Jul 25th, 2008

At a lunch conversation about quirks vs standards mode, the question was raised: but what if you don’t have those kinda important tags such as <html> or <body>? is this going to be quirks mode? Well, the following test case shows that a DOCTYPE is all it takes in order to have standards mode rendering. […]


Browser Wars 2.0?

Dec 17th, 2007



Smart browsers don’t download unneeded images

Jun 23rd, 2007

We ofter complain about browsers, browser inconsistencies, quirks, hickups, the list goes on. Let’s say something nice to them, and hope for good karma 🙂 It happens as your web app grows in size and team members that some parts of the stylesheets become obsolete, no one remembers why they were there in the first […]


Dynamic SCRIPT and STYLE elements in IE

Jan 26th, 2007

So you know how to add external scripts and styles, using the DOM, after the page is loaded. And what if you don’t have external files, but have some style definitions and some JS code as text and you want it inserted and executed into a page. The DOM way “Ha! An easy one”, you’d […]


Firebug console for IE

Dec 6th, 2006

Update: A better version of what I was trying to do is here. It works around the cross-domain permission problems in IE by not loading a page in the frame, but putting there the actual content. Firebug – no words to describe how cool it is, really. After the recent new release (1.0. beta) the […]


Rendering styles

Oct 4th, 2006

The question is – what will a browser do, given a page with several stylesheets, each of them probably overwriting definitions from the previous ones? Will the browser render the page using the first received css file, while downloading the other ones and after that partially re-rendering where required? The answer is: no, the browser […]


quirks or no quirks bookmarklet

Sep 20th, 2006

Here’s a bookmarklet that will tell you whether or not the browser renders your page in Standards Complaiance Mode or Quirks Mode. The bookmarklet will figure this out for the page as well as for all the frames (and their frames) recursively. Enjoy! Install Drag this to your bookmarklets/favorites or right click and add to […]