Thoughts on live chat 
Filed under

ie6

 

New IE Scrolling JavaScript

I’d really like some feedback on the latest IE6 feature push. The previous Javascript based method of placing Hab.la in a window seemed a bit jumpy, and not really that responsive. I rewrote the JavaScript that causes Hab.la to stay in the corner as you scroll your web-page. Now Hab.la will follow you around in a much smoother fashion. Let me know what you guys think of this.

IE6 has some limitations, but we try our best to mitigate them :-).

A little bit more detail on the problem: Essentially Hab.la can’t float in the corner in IE6 because IE6 does not support FIXED positioning. I.e. unlike IE7, Firefox, Opera, and Safari IE doesn’t support the position: fixed CSS tag. There are many methods of mitigating this problem, including many CSS Hacks. We wanted to stay away from CSS Hacks, which require a separate CSS file because we couldn’t depend on the CSS styles rendering for all the dynamic DOM content in Hab.la.

If you a search on Google you’ll notice this is a pretty common problem. In any case, the old method was to update the position of the Hab.la div whenever you scrolled, or resized the window. This created really choppy transitions when users were doing a lot of scrolling, but more closely mocked up fixed:position.

In the new method, which I adapted from http://www.codingforums.com/showthread.php?p=637753 Instead of monitoring events such as window.onscroll or window.resize. We just monitor the window every 500ms to see if we need to change the location of the Hab.la DIV. When a change is necessary, instead of immediately moving the div to the correct location, we smoothly move the div the desired location exponentially approaching the desired X,Y coordinates. [The above is pretty much what I found in coding forums, but the guy writing that post definitely didn’t write his code so it could be read by others – and has some extra steps that aren’t really necessary.]

In short, IE6 users, please let me know if you think the smooth fixed positioning via JavaScript is a useful improvement.

Filed under  //   absolute   css   fixed   ie6   javascript   position  
Posted by Olark 

Comments [0]

Many Small Fixes

We have made a few small fixes that should greatly improve how Hab.la renders in IE7 and IE6. Over the weekend we also made some improvements that have sped up average response times and lowered the processing power required to process each visitor to your site.

The next step ‘backend’ wise will be incorporating memcached into the setup to reduce mysql hits, which will also make the setup easier to scale as needed.

Filed under  //   backend   css   ie6   ie7   javascript   render  
Posted by Olark 

Comments [0]

A quick fix for users using setInline with IE6

Ok, I know a few (but, not many) of you are using setInline to place the Hab.la window inline on your page. We just learned that this code does not work in IE6.
 

I just patched the code, and released a fix, but you will need to create a div named "habla_window_div" instead of "habla_window", long story short, on IE a div named "habla_window" exists at window.habla_window, which was colliding with other variables in our code.

In any case your new code for specifying the inline div should look like this:

<div id="habla_window_div"></div>

Filed under  //   bugfix   div   ie6   inline   javascript  
Posted by Olark 

Comments [0]