Blame | Last modification | View Log | RSS feed
<!DOCTYPE HTML><!--/** jQuery File Upload Plugin postMessage API 1.2* https://github.com/blueimp/jQuery-File-Upload** Copyright 2011, Sebastian Tschan* https://blueimp.net** Licensed under the MIT license:* http://www.opensource.org/licenses/MIT*/--><html lang="en"><head><meta charset="utf-8"><title>jQuery File Upload Plugin postMessage API</title><script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script></head><body><script>/*jslint unparam: true, regexp: true *//*global $, Blob, FormData, location */'use strict';var origin = /^http:\/\/example.org/,target = new RegExp('^(http(s)?:)?\\/\\/' + location.host + '\\/');$(window).on('message', function (e) {e = e.originalEvent;var s = e.data,xhr = $.ajaxSettings.xhr(),f;if (!origin.test(e.origin)) {throw new Error('Origin "' + e.origin + '" does not match ' + origin);}if (!target.test(e.data.url)) {throw new Error('Target "' + e.data.url + '" does not match ' + target);}$(xhr.upload).on('progress', function (ev) {ev = ev.originalEvent;e.source.postMessage({id: s.id,type: ev.type,timeStamp: ev.timeStamp,lengthComputable: ev.lengthComputable,loaded: ev.loaded,total: ev.total}, e.origin);});s.xhr = function () {return xhr;};if (!(s.data instanceof Blob)) {f = new FormData();$.each(s.data, function (i, v) {f.append(v.name, v.value);});s.data = f;}$.ajax(s).always(function (result, statusText, jqXHR) {if (!jqXHR.done) {jqXHR = result;result = null;}e.source.postMessage({id: s.id,status: jqXHR.status,statusText: statusText,result: result,headers: jqXHR.getAllResponseHeaders()}, e.origin);});});</script></body></html>