Tuesday, June 24, 2014

Javascript Object Browser Update 1.2.0

Hey everyone. I just released an update to my Chrome Extension Javascript Object Browser. Updates include:

  • Alphabetic Sorting (finally) 
  • Newish Icon 
  • The functions and objects the extension uses are now anonymous, so they won't show up in the browser.
  • Updates for Chrome extensions manifest version 2 and security handling.
  • Added a bunch more permissions to allow it to access more chrome APIs

The original version was not very good. This one is a little better, but not a lot. I write the tool when I was brand new to JavaScript and web development. I have started to implement some better standards and code layout.

There is a lot more this tool can do than meets the eye. For example:
  • You can use it as a playground for Chrome and HTML5 APIs. Open up a Chrome JavaScript Console with Ctrl+Shift+J (It is way better than the one I built in.)
  • Use it as a reference. I have found some databases of JavaScript documentation, but I have yet to take the plunge of having the app use these. It can still be useful for learning the DOM, etc.
  • Save the page and use it in another browser. Just hit Ctrl+S and then open it in Firefox or IE.
    • Nevermind, I just checked and it does not work in IE, and you have to view source and save the index.html and index.js files for it to work in Firefox. I will have to fix IE support later.
    • The update for chrome, now makes it no longer a single html file. (That was a feature.)
  • Explore APIs of external libraries. Warning: This uses the eval function and is very dangerous. Even more than running it in a regular web browser. Any JavaScript files you put in there will have access to all the data on all your tabs through the Chrome Extension APIs. Please be careful and use only well known libraries.
Head on over the the Chrome Web Store and try it out.

UPDATE: I just pushed out a fix for a regression introduced with loading libraries. While I was at it, I added a few new features. There is now a toggle for the panel and a clear message about it's usage of eval.