js
Brought to you by:
yagupoli
//any number of arguments after functionName function showOnpremReportCategory(url, functionName) { var tmpUrl = url + "#" + encodeURIComponent(functionName); for(var i = 2; i < arguments.length; ++i) { tmpUrl += ("," + encodeURIComponent(arguments[i])); } var iframe = $("<iframe src='" + url + "'></iframe>").appendTo("body"); var tmpIframe = $("<iframe src='" + tmpUrl + "' style='display:none'></iframe>").appendTo("body"); $(tmpIframe).on("load", function() { var hash = tmpUrl.substr(tmpUrl.indexOf("#")+1); var fn = hash.split(","); var fd = iframe[0].document || iframe[0].contentWindow; var functionName = fd[fn[0].trim()]; if(fn.length == 1) { functionName(); } else { var params = []; for(i=1;i<fn.length;++i) { params[params.length] = decodeURIComponent(fn[i]); } functionName.apply(null,params); } $(this).remove(); }); return iframe; }
function showOnpremReportCategory(url, functionName) { var params = []; for(var i = 2; i < arguments.length; ++i) { params[params.length] = arguments[i]; } var iframe = $("<iframe src='" + url + "'></iframe>").appendTo("body"); $(iframe).on("load", function() { var fd = $(this)[0].document || $(this)[0].contentWindow; var fn = fd[functionName.trim()]; if(params.length == 1) { fn(); } else { fn.apply(null,params); } }); return iframe; }
Diff: