Welcome to my website. I am always posting links to photo albums, art, technology and other creations. Everything that you will see on my numerous personal sites is powered by the formVistaTM Website Management Engine.


  • jsbeautifier.org: Beautify, unpack or deobfuscate JavaScript and HTML, make JSON/JSONP readable, etc.
    08/22/2013 2:24PM
    The title of this entry is straight from the http://jsbeautifier.org/ website and says it all.
  • Feature Detection in Browser Scripting with JavaScript
    11/15/2012 1:35PM
  • Syntax for Dynamically Generating JSON in JavaScript to be Output to HTML
    04/11/2012 4:50PM

    Should you find yourself in a situation where you want to call a function (or method) that accepts JSON data parameters that you want to actually print to the browser to be invoked on some sort of callback (onchange, onclick, etc).

    Given the following function:

    doSomething(JSONparam) {
        // Something happens in here . . .

    Here is the syntax for rendering an onclick link that is generated in JavaScript and then output to the DOM:

    var $markup = '<a href="some/url.html" onclick="doSomething({\'key1\':\'value'\, \'key2\':\'value\'}); return false;">Some link</a>';

  • Simple Solution for JavaScript Object Packages and Namespaces
    03/26/2012 11:14AM

    Most OO programers are familiar with packages.  This enables programmers to group like classes together in a logical order and provide some namespace to avoid class name collisions.

    I have seen a variety of JavaScript sugar implementations that are mostly unintelligible.

    I like things that are simple and easy to understand.

    So, if you have a JavaScript class that looks like:

     * Constructor
    com.ryanchapin.Base = function() {

        // Constructor does something here . . .

    // Properties:

     * Some property

    // Methods:

    com.ryanchapin.Base.prototype.doSomething = function() {

        // Do something here . . . .

    Then all you need to do is add something similare to the following as the top-most block of JavaScript on the page:

    <script type="text/javascript">

                // Instantiate 'package/namespace', containing object
                var com = new Object();
                com.ryanchapin = new Object();

                // Then you can instantiate your objects as follows:
                var baseInst = new com.ryanchapin.Base();


    This will create the 'container' object in which your class definitions will reside and help reduce the use of global variables as well as class name and method name collisions.

  • Resources for Understanding Object-Oriented JavaScript
    02/20/2012 3:12PM
  • 1 2 3 >>
Advanced Search