/** * Purpose: a patch zk-4204 future chrome feature currently preventing "rmDesktop" (causing non cleaned up desktops) * Based on version: 8.6.1 */ zk.afterLoad('zk', function() { zAu._rmDesktop = function (dt, dummy) { var url = zk.ajaxURI(null, {desktop: dt, au: true}), data = jq.param({dtid: dt.id, cmd_0: dummy ? 'dummy' : 'rmDesktop', opt_0: 'i'}), headers = {}; if (zk.pfmeter) { var fakeReq = { setRequestHeader: function (name, value) { headers[name] = value; } }; zAu._pfsend(dt, fakeReq, true, false); } // ZK-4204 if (navigator.sendBeacon && window.URLSearchParams) { var params = new URLSearchParams(data); for (var key in headers) { if (headers.hasOwnProperty(key)) params.append(key, headers[key]); } navigator.sendBeacon(url, zk.chrome // https://crbug.com/747787 ? new Blob([params.toString()], {type: 'application/x-www-form-urlencoded'}) : params ); } else { this._rmDesktopAjax(url, data, headers); } // B65-ZK-2210: clean up portlet2 data when desktop removed. if (!dummy && zk.portlet2Data && zk.portlet2Data[dt.id]) { delete zk.portlet2Data[dt.id]; } }; zAu._rmDesktopAjax = function (url, data, headers) { jq.ajax(zk.$default({ url: url, data: data, beforeSend: function (xhr) { for (var key in headers) { if (headers.hasOwnProperty(key)) xhr.setRequestHeader(key, headers[key]); } }, //2011/04/22 feature 3291332 //Use sync request for IE, chrome, safari and firefox (4 and later). //Note: when pressing F5, the request's URL still arrives before this even async:false async: false }, zAu.ajaxSettings), null, true/*fixed IE memory issue for jQuery 1.6.x*/); }; }); if(zk.version != '8.6.1'){ console.warn('This override script version compatibility was tested for ZK 8.6.1. If you are running a different version, please check this script compatibility ') }