dminchev / jquery-crossdomain-data-plugin

JQuery plugin for cross domain content loading with Iframe and using window.postMessage or fall back on window.name transport for older browsers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

-------------------------------
Cross Domain Data JQuery Plugin
-------------------------------
-- by Boris Kuzmic
-- version 0.2
-- license: MIT - http://www.opensource.org/licenses/mit-license.php

Plugin can be used to dynamically load content from same or other domains. It can also
post form data to remote server script.
It’s creating a hidden iframe object to fetch remote page and when remote page sends data 
(either via window.postMessage in all modern browsers or via window.name in IE 6 & 7), 
data is read and callback method is invoked.

Simple usage:

Only to retrieve data:

$.getRemoteData(
    function(data){
       $("body").append( data );
    },
    'http://-some-remote-url-/source.html'
);

To post form use it like this:

$.postFormRemote(
    function(data){
        $("#form_result").append( data );
    },
    'form_id', 'form_url', 'form_method'
);

In source page one must add code like this (as last body element), 
to enable true cross domain interaction:

<script type="text/javascript">
    window.name = $("body").html();
    try {
        var target = parent.postMessage ? parent : (parent.document.postMessage ? parent.document : undefined);
 
        if (typeof target != "undefined") {
            target.postMessage($("body").html(), "*");
        }
    } catch (e) {/**/}
</script>
 

For more info visit wiki:

http://wiki.github.com/bkuzmic/jquery-crossdomain-data-plugin

About

JQuery plugin for cross domain content loading with Iframe and using window.postMessage or fall back on window.name transport for older browsers.