Brad Rees | blog

Dec/09

7

Playstation 3 Javascript Support

Recently I have been investigating the web capabilities of the Playstation 3 NetFront browser, and for the most part it works as expected. There are a few caveats however, and in my case this was enough to prevent the Prototype JavaScript library from loading. So far I have discovered the following issues:

  • Ajax works, however it will only do a GET request – POST returns immediately with no data supplied.
  • General browser model most closely follows Internet Explorer, however the accessors for the CSS opacity is like other browsers (Mozilla).
  • Currently can’t read the opacity, gives a value of 1.0 always.
  • Can’t fire custom events as the method for creating an event does not work (document.createEventObject).
  • Since there are no custom events some functions do not work, such as Prototype’s document.observe('dom:loaded').

The event firing issue is a bit of a nasty one if you rely on custom event for updating page elements. To work around Prototype’s dom:loaded issue I have added a new method: Event.domLoaded(), that takes a function and stores it in an array. Once the DOM is ready the array is iterated through and each function is called. I have also enhanced the method to call the function parameter if the DOM has already been marked as ready, thereby preventing race conditions caused by a delayed function call. In other words it makes it safe to register a function to be called as soon as possible, regardless of the present state of the page.

I have uploaded an updated version of Prototype with the fixes applied – download here. Let me know if there are any issues.

RSS Feed

No comments yet.

Leave a comment!

<<

>>

Find it!