Bug : Orkut Captcha Error on Firefox


A few days back, when I noticed that I was not able to use scrapsTimeOut, a website that I had worked on some time ago. You can send virtual gifts to friends by pasting a FLASH codelet as a scrap. The error said that the Captcha that I was entering was wrong; there was no information about blocked code. I was worried if Orkut was blocking flash content from our site already!
Interestingly, a friend told me that it all worked great on IE, and thats when I decided to investigate.
Spending time peering over the obfuscated code, I finally hit the line of code that seemed to be causing this error. Here is what exactly happens when a Captcha is required
  1. User enters FLASH Code, submits the page
  2. Orkut responds with a captcha, on clicking the submit, the "_submitCaptcha" javascript function is called
  3. In the Javascript file, the function is reassigned to a function called tf_Z.
  4. The function checks for an AJAX request object called tf_, and if it is not null, aborts it. This is basically required to abort any pending AJAX request
  5. It then constructs a new AJAX request and sends it to the server.
The abort method in step 4 effectively stops any previous AJAX requests. The callback also clears the captcha text box. Hence, in case of firefox, the abort method is called and hence, the new AJAX request does not have the captcha text when sent to the server. In case of IE, the call back is not activated, and hence works fine.
To conclude, you cannot really paste the code by scrapsTimeout on Firefox, using IE till this bug is fixed is an option available.