non-jQuery fork by Jeff Lee
I'm a fan of the simple interface of this plugin, but for various reasons I didn't want to be forced to include jQuery. Luckily, the dependencies on jQuery were minimal.
This fork consists of the following changes:
- Basic code cleanup and restructuring, for legibility.
receiveMessagefunctions can be bound arbitrarily, in terms of both function names and object scope. Scope is specified by the the "this" context of NoJQueryPostMessageMixin();
- I've removed the check for Opera 9.64, which used
$.browser. There were at least three different GitHub users requesting the removal of this "Opera sniff" on the original project's Issues page, so I figured this would be a relatively safe change.
postMessageno longer uses
$.paramto serialize messages that are not strings. I actually prefer this structure anyway.
receiveMessagedoes not implement a corresponding deserialization step, and as such it seems cleaner and more symmetric to leave both data serialization and deserialization to the client.
- The use of
$.isFunctionis replaced by a functionally-identical check.
$:nomungeYUI option is no longer necessary.
jQuery postMessage: Cross-domain scripting goodness
Version: 0.5, Last updated: 9/11/2009
jQuery postMessage enables simple and easy window.postMessage communication in browsers that support it (FF3, Safari 4, IE8), while falling back to a document.location.hash communication method for all other browsers (IE6, IE7, Opera).
Visit the project page for more information and usage examples!
This working example, complete with fully commented code, illustrates one way in which this plugin can be used.
Support and Testing
Information about what version or versions of jQuery this plugin has been tested with and what browsers it has been tested in.
Internet Explorer 6-8, Firefox 3, Safari 3-4, Chrome, Opera 9.
0.5 - (9/11/2009) Improved cache-busting 0.4 - (8/25/2009) Initial release
Copyright (c) 2009 "Cowboy" Ben Alman Dual licensed under the MIT and GPL licenses. http://benalman.com/about/license/