@alicloud/console-os-browser-vm 1.3.1-alpha.3 → 1.3.4-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/es/Elements.js +14 -1
- package/es/Window.js +12 -15
- package/es/events.js +15 -11
- package/es/v2/index.js +4 -57
- package/lib/Elements.js +14 -1
- package/lib/Window.js +12 -15
- package/lib/events.js +15 -13
- package/lib/v2/index.js +6 -63
- package/package.json +2 -2
- package/es/v2/Elements.js +0 -65
- package/lib/v2/Elements.js +0 -74
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.aliOSBrowserVM=e():t.aliOSBrowserVM=e()}(window,function(){return n=[function(t,e,n){t.exports=n(2)},function(t,e,n){t.exports=n(3)},function(e,t,n){e=function(a){"use strict";var u,t=Object.prototype,s=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},r=e.iterator||"@@iterator",n=e.asyncIterator||"@@asyncIterator",o=e.toStringTag||"@@toStringTag";function i(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{i({},"")}catch(t){i=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o,i,a,c,e=e&&e.prototype instanceof v?e:v,e=Object.create(e.prototype),r=new _(r||[]);return e._invoke=(o=t,i=n,a=r,c=f,function(t,e){if(c===h)throw new Error("Generator is already running");if(c===d){if("throw"===t)throw e;return j()}for(a.method=t,a.arg=e;;){var n=a.delegate;if(n){var r=function t(e,n){var r=e.iterator[n.method];if(r===u){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=u,t(e,n),"throw"===n.method))return y;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var r=l(r,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,y;r=r.arg;if(!r)return n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y;{if(!r.done)return r;n[e.resultName]=r.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=u)}n.delegate=null;return y}(n,a);if(r){if(r===y)continue;return r}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(c===f)throw c=d,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);c=h;r=l(o,i,a);if("normal"===r.type){if(c=a.done?d:p,r.arg!==y)return{value:r.arg,done:a.done}}else"throw"===r.type&&(c=d,a.method="throw",a.arg=r.arg)}}),e}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}a.wrap=c;var f="suspendedStart",p="suspendedYield",h="executing",d="completed",y={};function v(){}function m(){}function w(){}var b={};i(b,r,function(){return this});e=Object.getPrototypeOf,e=e&&e(e(L([])));e&&e!==t&&s.call(e,r)&&(b=e);var g=w.prototype=v.prototype=Object.create(b);function O(t){["next","throw","return"].forEach(function(e){i(t,e,function(t){return this._invoke(e,t)})})}function x(a,c){var e;this._invoke=function(n,r){function t(){return new c(function(t,e){!function e(t,n,r,o){t=l(a[t],a,n);if("throw"!==t.type){var i=t.arg,n=i.value;return n&&"object"==typeof n&&s.call(n,"__await")?c.resolve(n.__await).then(function(t){e("next",t,r,o)},function(t){e("throw",t,r,o)}):c.resolve(n).then(function(t){i.value=t,r(i)},function(t){return e("throw",t,r,o)})}o(t.arg)}(n,r,t,e)})}return e=e?e.then(t,t):t()}}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function L(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,t=function t(){for(;++n<e.length;)if(s.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=u,t.done=!0,t};return t.next=t}}return{next:j}}function j(){return{value:u,done:!0}}return m.prototype=w,i(g,"constructor",w),i(w,"constructor",m),m.displayName=i(w,o,"GeneratorFunction"),a.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,i(t,o,"GeneratorFunction")),t.prototype=Object.create(g),t},a.awrap=function(t){return{__await:t}},O(x.prototype),i(x.prototype,n,function(){return this}),a.AsyncIterator=x,a.async=function(t,e,n,r,o){void 0===o&&(o=Promise);var i=new x(c(t,e,n,r),o);return a.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},O(g),i(g,o,"Generator"),i(g,r,function(){return this}),i(g,"toString",function(){return"[object Generator]"}),a.keys=function(n){var t,r=[];for(t in n)r.push(t);return r.reverse(),function t(){for(;r.length;){var e=r.pop();if(e in n)return t.value=e,t.done=!1,t}return t.done=!0,t}},a.values=L,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=u,this.done=!1,this.delegate=null,this.method="next",this.arg=u,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=u)},stop:function(){this.done=!0;var t=this.tryEntries[0],t=t.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function t(t,e){return i.type="throw",i.arg=n,r.next=t,e&&(r.method="next",r.arg=u),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var o=this.tryEntries[e],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=s.call(o,"catchLoc"),c=s.call(o,"finallyLoc");if(a&&c){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r,o=n.completion;return"throw"===o.type&&(r=o.arg,E(n)),r}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:L(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=u),y}},a}(e.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},function(t,e,n){"use strict";function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function u(t,e,n,r,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,o)}function o(c){return function(){var t=this,a=arguments;return new Promise(function(e,n){var r=c.apply(t,a);function o(t){u(r,e,n,o,i,"next",t)}function i(t){u(r,e,n,o,i,"throw",t)}o(void 0)})}}n.r(e),n.d(e,"createContext",function(){return G}),n.d(e,"removeContext",function(){return B}),n.d(e,"evalScripts",function(){return D});function i(t){try{e=new URL(t)}catch(t){return}var e=e.searchParams;return e?e.get("callback")||e.get("cb"):null}function r(){return"undefined"==typeof document}var e=n(0),c=n.n(e),s=function(t){setTimeout(function(){var e,n;t.src&&(e=t.ownerContext.window,n=i(t.src),n&&"function"==typeof e[n]&&(window[n]=function(){var t=e[n].apply(e,arguments);return window[n]=null,t}))},0)};if(!r()&&"function"==typeof window.Element)for(var l=0,f=["appendChild","insertBefore","append"];l<f.length;l++){var p=f[l],h=window.Element.prototype[p];window.Element.prototype[p]=function(o){return function(n){if(n&&n._evalScriptInSandbox&&n.ownerContext&&"SCRIPT"===n.nodeName&&n.src&&-1===n.ownerContext.allowResources.indexOf(n.src)&&!i(n.src))return n.ownerContext.loadScripts(n.src).then(function(){var t=n._listenerMap.get("load");t&&t.forEach(function(t){t()}),n.onload&&n.onload()}).catch(function(e){console.error(e);var t=n._listenerMap.get("error");t&&t.forEach(function(t){t(e)}),n.onerror&&n.onerror(e)});n&&"SCRIPT"===n.nodeName&&n.ownerContext&&s(n),n&&n.scriptText&&n.ownerContext.evalScript(n.scriptText);for(var t=arguments.length,e=new Array(1<t?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];try{return o.call.apply(o,[this,n].concat(e))}catch(t){return o.apply(this,[n].concat(e))}}}(h)}function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function y(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function v(t,e,n){return e&&y(t.prototype,e),n&&y(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function m(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function w(t){return function(t){if(Array.isArray(t))return m(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return m(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var b=r()?function(){}:window.addEventListener,g=r()?function(){}:window.removeEventListener,O=["webkitmouseforcedown","webkitmouseforcewillbegin","visibilitychange","error","mousemove","mousedown","mouseup","touchcancel","touchend","touchstart","auxclick","dblclick","pointercancel","pointerdown","pointerup","dragend","dragstart","drop","compositionend","compositionstart","keydown","keypress","keyup","input","textInput","close","cancel","copy","cut","paste","click","change","contextmenu","reset","submit","resize","scroll","foucs","blur"];function x(t){t=t.prototype&&t.prototype.constructor===t&&1<Object.getOwnPropertyNames(t.prototype).length||/^class\b/.test(t.toString());return t}function S(t){t=0===t.name.indexOf("bound ")&&!t.hasOwnProperty("prototype");return t}function E(e){var o,i,a,c;e._listenerMap=new Map,e.addEventListener=(o=e,i=e.addEventListener,function(t,e,n){var r=o._listenerMap.get(t)||[];return o._listenerMap.set(t,[].concat(w(r),[e])),i.apply(o,[t,e,n])}),e.removeEventListener=(a=e,c=e.removeEventListener,function(t,e,n){var r=a._listenerMap.get(t);return r&&r.length&&-1!==r.indexOf(e)&&r.splice(r.indexOf(e),1),c.apply(a,[t,e,n])}),P.forEach(function(t){Object.defineProperty(e,t,{get:function(){return this.scriptText||""},set:function(t){this.scriptText=t,e.parentNode&&this.ownerContext.evalScript&&e.ownerContext.evalScript(t.toString())},enumerable:!1})})}var _=["setTimeout","setInterval","clearInterval","clearTimeout"],L=["requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame"],e=v(function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},u=1<arguments.length?arguments[1]:void 0,s=2<arguments.length?arguments[2]:void 0;d(this,t);var l=[].concat(L,w(e.externals||[])),f={},p=new Proxy(s.contentWindow,{set:function(t,e,n){return f[e]=n,!0},get:function(t,e){if(l.includes(e)){var n=window[e];if("function"!=typeof n||S(n)||x(n))return n;var r,o=n.bind(window);for(r in n)o[r]=n[r];return o}switch(e){case"window":return p;case"document":return u.document;case"location":return u.location;case"history":return u.history;case"__CONSOLE_OS_GLOBAL_VARS_":return p;case"addEventListener":return a=u,function(t,e,n){var r=a._listenerMap.get(t)||[];return a._listenerMap.set(t,[].concat(w(r),[e])),-1===O.indexOf(t)?a.baseFrame.addEventListener.apply(a.baseFrame.contentWindow,[t,e,n]):b.apply(window,[t,e,n])};case"removeEventListener":return i=u,function(t,e,n){var r=i._listenerMap.get(t);return r&&r.length&&-1!==r.indexOf(e)&&r.splice(r.indexOf(e),1),-1===O.indexOf(t)?i.baseFrame.removeEventListener.apply(i.baseFrame.contentWindow,[t,e,n]):g.apply(window,[t,e,n])}}var i,a,c;if(c=f[e],null!=c)return f[e];if(c=e,"string"==typeof c&&c in s.contentWindow){e=window[e];return"function"!=typeof e||S(e)||x(e)?e:e.bind&&e.bind(window)}}});return _.forEach(function(t){l.includes(t)||(p[t]=s.contentWindow[t].bind(s.contentWindow))}),p}),j=e,P=["innerHTML","text","innerText"];function k(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,e=function(){};return{s:e,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw o}}}}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var e=v(function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=1<arguments.length?arguments[1]:void 0;d(this,t);var o=[];return new Proxy(document,{set:function(t,e,n){return"cookie"===e?document.cookie=n:t[e]=n,!0},get:function(r,t){switch(t){case"body":return n.body;case"location":return n.location;case"defaultView":return n.window;case"write":case"writeln":return function(){};case"createElement":return function(){var t=(t=document).createElement.apply(t,arguments);return t.ownerContext=n,t.appId=e.id,"SCRIPT"!==t.tagName||e.enableScriptEscape||(t._evalScriptInSandbox=!0,E(t)),t};case"addEventListener":return function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return o.push(e),r.addEventListener.apply(r,e)};case"removeEventListeners":return function(){var t,e=k(o);try{for(e.s();!(t=e.n()).done;){var n=t.value;r.removeEventListener.apply(r,w(n))}}catch(t){e.e(t)}finally{e.f()}}}return"function"==typeof r[t]?r[t].bind&&r[t].bind(r):r[t]}})}),C=e,e=v(function t(r){return d(this,t),new Proxy({},{set:function(t,e,n){return"href"===e||(r[e]=n),!0},get:function(t,e){switch(e){case"reload":case"replace":return function(){};case"toString":return function(){try{return r.toString()}catch(t){return r.href}}}return"function"==typeof r[e]?r[e].bind&&r[e].bind(t):r[e]}})}),F=e,e=v(function t(e,o){if(d(this,t),!e)return o.history;function i(){o.postMessage({type:"".concat(e,":history-change"),data:JSON.parse(JSON.stringify(o.location))},"*")}var a=o.history.pushState,c=o.history.replaceState;return o.history.pushState=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=a.apply(o.history,[].concat(e));return i(),r},o.history.replaceState=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=c.apply(o.history,[].concat(e));return i(),r},o.history}),T=e;function M(e,t){var n,r=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)),r}function N(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var e=function(){function r(t,e){d(this,r),this.location=new F(e.contentWindow.location),this.history=new T(t.id,e.contentWindow),this.window=new j(t,this,e,location),this.allowResources=t.allowResources||[];var n=t.body;t.disableBody?n=document.body:t.body||(n=document.createElement("body"),document.documentElement.appendChild(n)),this.body=n,this.document=new C(N({enableScriptEscape:!0},t),this,e,location),this.baseFrame=e,this._listenerMap=new Map,this.window.__IS_CONSOLE_OS_CONTEXT__=!0}var e,n;return v(r,[{key:"loadScripts",value:(n=o(c.a.mark(function t(n){var r;return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(n,{credentials:(e=n,e.includes("console.aliyun.com")?"include":"omit")});case 2:return r=t.sent,t.next=5,r.text();case 5:r=t.sent,this.evalScript(r,n);case 7:case"end":return t.stop()}var e},t,this)})),function(t){return n.apply(this,arguments)})},{key:"evalScript",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",e=new Function("\n return function ({window, location, history, document}){ \n with(window.__CONSOLE_OS_GLOBAL_VARS_) {\n try {\n ".concat(t,"\n }\n catch(e) {\n console.log(e)\n }\n }\n }//@ sourceMappingURL=").concat(e));e().call(this.window,N({},this))}},{key:"updateBody",value:function(t){this.body=t}},{key:"remove",value:function(){this.document.removeEventListeners(),this.baseFrame&&(this.baseFrame.parentNode?this.baseFrame.parentNode.removeChild(this.baseFrame):this.baseFrame.setAttribute("src","about:blank"))}}],[{key:"create",value:function(n){var r=this;return new Promise(function(t){var e=document.createElement("iframe");if(e.setAttribute("src",n.url||"/api.json"),e.style.cssText="position: absolute; top: -20000px; width: 100%; height: 1px;",document.body.appendChild(e),"about:blank"===n.url)return t(new r(n,e));e.onload=function(){t(new r(n,e))}})}},{key:"remove",value:(e=o(c.a.mark(function t(e){return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:e.remove&&e.remove();case 1:case"end":return t.stop()}},t)})),function(t){return e.apply(this,arguments)})}]),r}(),I=e;function R(e,t){var n,r=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)),r}var G=function(){var t=o(c.a.mark(function t(){var e,n=arguments;return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=0<n.length&&void 0!==n[0]?n[0]:{},t.next=3,I.create(e);case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}},t)}));return function(){return t.apply(this,arguments)}}(),B=function(){var e=o(c.a.mark(function t(e){return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,I.remove(e);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(t){return e.apply(this,arguments)}}(),D=function(){var e=o(c.a.mark(function t(e){var n,r,o,i=arguments;return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=1<i.length&&void 0!==i[1]?i[1]:{},t.next=3,I.create(n);case 3:return r=t.sent,o=new Function("\n return function({window, location, history, document}){ \n with(window.__CONSOLE_OS_GLOBAL_VARS_) { \n ".concat(e,"\n }\n }//@sourceURL=").concat(n.name)),t.abrupt("return",o(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?R(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},r)));case 6:case"end":return t.stop()}},t)}));return function(t){return e.apply(this,arguments)}}()}],r={},o.m=n,o.c=r,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="/",o(o.s=1);function o(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}var n,r});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.aliOSBrowserVM=e():t.aliOSBrowserVM=e()}(window,function(){return n=[function(t,e,n){t.exports=n(2)},function(t,e,n){t.exports=n(3)},function(e,t,n){e=function(a){"use strict";var u,t=Object.prototype,s=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},r=e.iterator||"@@iterator",n=e.asyncIterator||"@@asyncIterator",o=e.toStringTag||"@@toStringTag";function i(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{i({},"")}catch(t){i=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o,i,a,c,e=e&&e.prototype instanceof v?e:v,e=Object.create(e.prototype),r=new _(r||[]);return e._invoke=(o=t,i=n,a=r,c=l,function(t,e){if(c===h)throw new Error("Generator is already running");if(c===d){if("throw"===t)throw e;return L()}for(a.method=t,a.arg=e;;){var n=a.delegate;if(n){var r=function t(e,n){var r=e.iterator[n.method];if(r===u){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=u,t(e,n),"throw"===n.method))return y;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var r=f(r,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,y;r=r.arg;if(!r)return n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y;{if(!r.done)return r;n[e.resultName]=r.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=u)}n.delegate=null;return y}(n,a);if(r){if(r===y)continue;return r}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(c===l)throw c=d,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);c=h;r=f(o,i,a);if("normal"===r.type){if(c=a.done?d:p,r.arg!==y)return{value:r.arg,done:a.done}}else"throw"===r.type&&(c=d,a.method="throw",a.arg=r.arg)}}),e}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}a.wrap=c;var l="suspendedStart",p="suspendedYield",h="executing",d="completed",y={};function v(){}function m(){}function w(){}var b={};i(b,r,function(){return this});e=Object.getPrototypeOf,e=e&&e(e(j([])));e&&e!==t&&s.call(e,r)&&(b=e);var g=w.prototype=v.prototype=Object.create(b);function O(t){["next","throw","return"].forEach(function(e){i(t,e,function(t){return this._invoke(e,t)})})}function x(a,c){var e;this._invoke=function(n,r){function t(){return new c(function(t,e){!function e(t,n,r,o){t=f(a[t],a,n);if("throw"!==t.type){var i=t.arg,n=i.value;return n&&"object"==typeof n&&s.call(n,"__await")?c.resolve(n.__await).then(function(t){e("next",t,r,o)},function(t){e("throw",t,r,o)}):c.resolve(n).then(function(t){i.value=t,r(i)},function(t){return e("throw",t,r,o)})}o(t.arg)}(n,r,t,e)})}return e=e?e.then(t,t):t()}}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function j(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,t=function t(){for(;++n<e.length;)if(s.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=u,t.done=!0,t};return t.next=t}}return{next:L}}function L(){return{value:u,done:!0}}return m.prototype=w,i(g,"constructor",w),i(w,"constructor",m),m.displayName=i(w,o,"GeneratorFunction"),a.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,i(t,o,"GeneratorFunction")),t.prototype=Object.create(g),t},a.awrap=function(t){return{__await:t}},O(x.prototype),i(x.prototype,n,function(){return this}),a.AsyncIterator=x,a.async=function(t,e,n,r,o){void 0===o&&(o=Promise);var i=new x(c(t,e,n,r),o);return a.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},O(g),i(g,o,"Generator"),i(g,r,function(){return this}),i(g,"toString",function(){return"[object Generator]"}),a.keys=function(n){var t,r=[];for(t in n)r.push(t);return r.reverse(),function t(){for(;r.length;){var e=r.pop();if(e in n)return t.value=e,t.done=!1,t}return t.done=!0,t}},a.values=j,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=u,this.done=!1,this.delegate=null,this.method="next",this.arg=u,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=u)},stop:function(){this.done=!0;var t=this.tryEntries[0],t=t.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function t(t,e){return i.type="throw",i.arg=n,r.next=t,e&&(r.method="next",r.arg=u),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var o=this.tryEntries[e],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=s.call(o,"catchLoc"),c=s.call(o,"finallyLoc");if(a&&c){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r,o=n.completion;return"throw"===o.type&&(r=o.arg,E(n)),r}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=u),y}},a}(e.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},function(t,e,n){"use strict";function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function u(t,e,n,r,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,o)}function o(c){return function(){var t=this,a=arguments;return new Promise(function(e,n){var r=c.apply(t,a);function o(t){u(r,e,n,o,i,"next",t)}function i(t){u(r,e,n,o,i,"throw",t)}o(void 0)})}}n.r(e),n.d(e,"createContext",function(){return G}),n.d(e,"removeContext",function(){return B}),n.d(e,"evalScripts",function(){return D});function i(t){try{e=new URL(t)}catch(t){return}var e=e.searchParams;return e?e.get("callback")||e.get("cb"):null}function r(){return"undefined"==typeof document}function c(o){return function(n){if(n&&n._evalScriptInSandbox&&n.ownerContext&&"SCRIPT"===n.nodeName&&n.src&&function(t,e){if(Array.isArray(t)){t=t.find(function(t){return"string"==typeof t?t===e:t instanceof RegExp&&!!e.match(t)});return!!t}return!1}(n.ownerContext.allowResources,n.src)&&!i(n.src))return n.ownerContext.loadScripts(n.src).then(function(){var t=n._listenerMap.get("load");t&&t.forEach(function(t){t()}),n.onload&&n.onload()}).catch(function(e){console.error(e);var t=n._listenerMap.get("error");t&&t.forEach(function(t){t(e)}),n.onerror&&n.onerror(e)});n&&"SCRIPT"===n.nodeName&&n.ownerContext&&f(n),n&&n.scriptText&&n.ownerContext.evalScript(n.scriptText);for(var t=arguments.length,e=new Array(1<t?t-1:0),r=1;r<t;r++)e[r-1]=arguments[r];try{return o.call.apply(o,[this,n].concat(e))}catch(t){return o.apply(this,[n].concat(e))}}}var e=n(0),s=n.n(e),f=function(t){setTimeout(function(){var e,n;t.src&&(e=t.ownerContext.window,n=i(t.src),n&&"function"==typeof e[n]&&(window[n]=function(){var t=e[n].apply(e,arguments);return window[n]=null,t}))},0)};if(!r()&&"function"==typeof window.Element)for(var l=0,p=["appendChild","insertBefore","append"];l<p.length;l++){var h=p[l],d=window.Element.prototype[h];window.Element.prototype[h]=c(d)}function y(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function m(t,e,n){return e&&v(t.prototype,e),n&&v(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function b(t){return function(t){if(Array.isArray(t))return w(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return w(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var g=r()?function(){}:window.addEventListener,O=r()?function(){}:window.removeEventListener;function x(t){t=t.prototype&&t.prototype.constructor===t&&1<Object.getOwnPropertyNames(t.prototype).length||/^class\b/.test(t.toString());return t}function S(t){t=0===t.name.indexOf("bound ")&&!t.hasOwnProperty("prototype");return t}function E(e){var o,i,a,c;e._listenerMap=new Map,e.addEventListener=(o=e,i=e.addEventListener,function(t,e,n){var r=o._listenerMap.get(t)||[];return o._listenerMap.set(t,[].concat(b(r),[e])),i.apply(o,[t,e,n])}),e.removeEventListener=(a=e,c=e.removeEventListener,function(t,e,n){var r=a._listenerMap.get(t);return r&&r.length&&-1!==r.indexOf(e)&&r.splice(r.indexOf(e),1),c.apply(a,[t,e,n])}),P.forEach(function(t){Object.defineProperty(e,t,{get:function(){return this.scriptText||""},set:function(t){this.scriptText=t,e.parentNode&&this.ownerContext.evalScript&&e.ownerContext.evalScript(t.toString())},enumerable:!1})})}var _=["setTimeout","setInterval","clearInterval","clearTimeout"],j=["requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame"],e=m(function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},c=1<arguments.length?arguments[1]:void 0,n=2<arguments.length?arguments[2]:void 0;y(this,t);var u=[].concat(j,b(e.externals||[])),s={},f=new Proxy(n.contentWindow,{set:function(t,e,n){return s[e]=n,!0},has:function(t,e){return"eval"!==e&&e in t},get:function(t,e){if(u.includes(e)){if(e in s)return s[e];var n=window[e];if("function"!=typeof n||S(n)||x(n))return n;var r,o=n.bind(window);for(r in n)o[r]=n[r];return o}switch(e){case"window":return f;case"document":return c.document;case"location":return c.location;case"history":return c.history;case"__CONSOLE_OS_GLOBAL_VARS_":return f;case"addEventListener":return a=c,function(t,e,n){var r=a._listenerMap.get(t)||[];return a._listenerMap.set(t,[].concat(b(r),[e])),g.apply(window,[t,e,n])};case"removeEventListener":return i=c,function(t,e,n){var r=i._listenerMap.get(t);return r&&r.length&&-1!==r.indexOf(e)&&r.splice(r.indexOf(e),1),O.apply(window,[t,e,n])}}var i,a;if(e in s)return s[e];if(e in t){e=window[e];return"function"!=typeof e||S(e)||x(e)?e:e.bind&&e.bind(window)}}});return _.forEach(function(t){u.includes(t)||(f[t]=n.contentWindow[t].bind(n.contentWindow))}),f}),L=e,P=["innerHTML","text","innerText"];function A(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return C(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,e=function(){};return{s:e,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw o}}}}function C(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var e=m(function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=1<arguments.length?arguments[1]:void 0;y(this,t);var o=[];return new Proxy(document,{set:function(t,e,n){return"cookie"===e?document.cookie=n:t[e]=n,!0},get:function(r,t){switch(t){case"body":return n.body;case"location":return n.location;case"defaultView":return n.window;case"write":case"writeln":return function(){};case"createElement":return function(){var t=(t=document).createElement.apply(t,arguments);return t.ownerContext=n,t.appId=e.id,"SCRIPT"!==t.tagName||e.enableScriptEscape||(t._evalScriptInSandbox=!0,E(t)),t};case"addEventListener":return function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return o.push(e),r.addEventListener.apply(r,e)};case"removeEventListeners":return function(){var t,e=A(o);try{for(e.s();!(t=e.n()).done;){var n=t.value;r.removeEventListener.apply(r,b(n))}}catch(t){e.e(t)}finally{e.f()}}}return"function"==typeof r[t]?r[t].bind&&r[t].bind(r):r[t]}})}),k=e,e=m(function t(r){return y(this,t),new Proxy({},{set:function(t,e,n){return"href"===e||(r[e]=n),!0},get:function(t,e){switch(e){case"reload":case"replace":return function(){};case"toString":return function(){try{return r.toString()}catch(t){return r.href}}}return"function"==typeof r[e]?r[e].bind&&r[e].bind(t):r[e]}})}),T=e,e=m(function t(e,o){if(y(this,t),!e)return o.history;function i(){o.postMessage({type:"".concat(e,":history-change"),data:JSON.parse(JSON.stringify(o.location))},"*")}var a=o.history.pushState,c=o.history.replaceState;return o.history.pushState=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=a.apply(o.history,[].concat(e));return i(),r},o.history.replaceState=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=c.apply(o.history,[].concat(e));return i(),r},o.history}),F=e;function M(e,t){var n,r=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)),r}function N(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var e=function(){function r(t,e){y(this,r),this.location=new T(e.contentWindow.location),this.history=new F(t.id,e.contentWindow),this.window=new L(t,this,e,location),this.allowResources=t.allowResources||[];var n=t.body;t.disableBody?n=document.body:t.body||(n=document.createElement("body"),document.documentElement.appendChild(n)),this.body=n,this.document=new k(N({enableScriptEscape:!0},t),this,e,location),this.baseFrame=e,this._listenerMap=new Map,this.window.__IS_CONSOLE_OS_CONTEXT__=!0}var e,n;return m(r,[{key:"loadScripts",value:(n=o(s.a.mark(function t(n){var r;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(n,{credentials:(e=n,e.includes("console.aliyun.com")?"include":"omit")});case 2:return r=t.sent,t.next=5,r.text();case 5:r=t.sent,this.evalScript(r,n);case 7:case"end":return t.stop()}var e},t,this)})),function(t){return n.apply(this,arguments)})},{key:"evalScript",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",e=new Function("\n return function ({window, location, history, document}){ \n with(window.__CONSOLE_OS_GLOBAL_VARS_) {\n try {\n ".concat(t,"\n }\n catch(e) {\n console.log(e)\n }\n }\n }//@ sourceMappingURL=").concat(e));e().call(this.window,N({},this))}},{key:"updateBody",value:function(t){this.body=t}},{key:"remove",value:function(){this.document.removeEventListeners(),this.baseFrame&&(this.baseFrame.parentNode?this.baseFrame.parentNode.removeChild(this.baseFrame):this.baseFrame.setAttribute("src","about:blank"))}}],[{key:"create",value:function(n){var r=this;return new Promise(function(t){var e=document.createElement("iframe");if(e.setAttribute("src",n.url||"/api.json"),e.style.cssText="position: absolute; top: -20000px; width: 100%; height: 1px;",document.body.appendChild(e),"about:blank"===n.url)return t(new r(n,e));e.onload=function(){t(new r(n,e))}})}},{key:"remove",value:(e=o(s.a.mark(function t(e){return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:e.remove&&e.remove();case 1:case"end":return t.stop()}},t)})),function(t){return e.apply(this,arguments)})}]),r}(),R=e;function I(e,t){var n,r=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)),r}var G=function(){var t=o(s.a.mark(function t(){var e,n=arguments;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=0<n.length&&void 0!==n[0]?n[0]:{},t.next=3,R.create(e);case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}},t)}));return function(){return t.apply(this,arguments)}}(),B=function(){var e=o(s.a.mark(function t(e){return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,R.remove(e);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(t){return e.apply(this,arguments)}}(),D=function(){var e=o(s.a.mark(function t(e){var n,r,o,i=arguments;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=1<i.length&&void 0!==i[1]?i[1]:{},t.next=3,R.create(n);case 3:return r=t.sent,o=new Function("\n return function({window, location, history, document}){ \n with(window.__CONSOLE_OS_GLOBAL_VARS_) { \n ".concat(e,"\n }\n }//@sourceURL=").concat(n.name)),t.abrupt("return",o(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?I(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},r)));case 6:case"end":return t.stop()}},t)}));return function(t){return e.apply(this,arguments)}}()}],r={},o.m=n,o.c=r,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="/",o(o.s=1);function o(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}var n,r});
|
package/es/Elements.js
CHANGED
|
@@ -7,10 +7,23 @@
|
|
|
7
7
|
import injectScriptCallBack, { getJsonCallback } from './utils/injectScriptCallBack';
|
|
8
8
|
import { isSSR } from './utils/isSSR';
|
|
9
9
|
|
|
10
|
+
var isAllowed = function isAllowed(allowResources, url) {
|
|
11
|
+
if (Array.isArray(allowResources)) {
|
|
12
|
+
var result = allowResources.find(function (rule) {
|
|
13
|
+
if (typeof rule === 'string') return rule === url;
|
|
14
|
+
if (rule instanceof RegExp) return !!url.match(rule);
|
|
15
|
+
return false;
|
|
16
|
+
});
|
|
17
|
+
return !!result;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return false;
|
|
21
|
+
};
|
|
22
|
+
|
|
10
23
|
var makeElInjector = function makeElInjector(originMethod) {
|
|
11
24
|
return function (el) {
|
|
12
25
|
// 如果不在 BrowserVM 的白名单内,尝试通过 context 的 load script 通过 xhr 获取脚本内容,并在沙箱中执行
|
|
13
|
-
if (el && el._evalScriptInSandbox && el.ownerContext && el.nodeName === 'SCRIPT' && el.src && el.ownerContext.allowResources
|
|
26
|
+
if (el && el._evalScriptInSandbox && el.ownerContext && el.nodeName === 'SCRIPT' && el.src && isAllowed(el.ownerContext.allowResources, el.src) && !getJsonCallback(el.src)) {
|
|
14
27
|
return el.ownerContext.loadScripts(el.src).then(function () {
|
|
15
28
|
var fns = el._listenerMap.get('load');
|
|
16
29
|
|
package/es/Window.js
CHANGED
|
@@ -8,17 +8,12 @@ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
|
8
8
|
import { addEventListener, removeEventListener } from './events';
|
|
9
9
|
import { isConstructable, isBoundedFunction } from './utils/common';
|
|
10
10
|
var globalFnName = ['setTimeout', 'setInterval', 'clearInterval', 'clearTimeout'];
|
|
11
|
-
var defaultExternals = ['requestAnimationFrame', 'webkitRequestAnimationFrame', 'mozRequestAnimationFrame', 'oRequestAnimationFrame', 'msRequestAnimationFrame', 'cancelAnimationFrame', 'webkitCancelAnimationFrame', 'mozCancelAnimationFrame', 'oCancelAnimationFrame', 'msCancelAnimationFrame'];
|
|
12
|
-
|
|
13
|
-
var isExist = function isExist(value) {
|
|
14
|
-
return typeof value !== 'undefined' && value !== null;
|
|
15
|
-
}; // 1. if var in externals, read it from window
|
|
11
|
+
var defaultExternals = ['requestAnimationFrame', 'webkitRequestAnimationFrame', 'mozRequestAnimationFrame', 'oRequestAnimationFrame', 'msRequestAnimationFrame', 'cancelAnimationFrame', 'webkitCancelAnimationFrame', 'mozCancelAnimationFrame', 'oCancelAnimationFrame', 'msCancelAnimationFrame']; // 1. if var in externals, read it from cache or window
|
|
16
12
|
// 2. if var in hack list, read it from iframe's window
|
|
17
13
|
// 3. if var in cache which wrote by micro app, read it from cache
|
|
18
14
|
// 4. if var is native, read it from window
|
|
19
15
|
// 5. otherwise return undefined
|
|
20
16
|
|
|
21
|
-
|
|
22
17
|
var Window = /*#__PURE__*/_createClass(function Window() {
|
|
23
18
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
24
19
|
var context = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -26,12 +21,7 @@ var Window = /*#__PURE__*/_createClass(function Window() {
|
|
|
26
21
|
|
|
27
22
|
_classCallCheck(this, Window);
|
|
28
23
|
|
|
29
|
-
var externals = [].concat(defaultExternals, _toConsumableArray(options.externals || []));
|
|
30
|
-
|
|
31
|
-
var isNative = function isNative(variable) {
|
|
32
|
-
return typeof variable === 'string' && variable in frame.contentWindow;
|
|
33
|
-
};
|
|
34
|
-
|
|
24
|
+
var externals = [].concat(defaultExternals, _toConsumableArray(options.externals || []));
|
|
35
25
|
var cache = {};
|
|
36
26
|
|
|
37
27
|
var __CONSOLE_OS_GLOBAL_VARS_ = new Proxy(frame.contentWindow, {
|
|
@@ -39,8 +29,14 @@ var Window = /*#__PURE__*/_createClass(function Window() {
|
|
|
39
29
|
cache[name] = value;
|
|
40
30
|
return true;
|
|
41
31
|
},
|
|
32
|
+
// eval will lose it context in with
|
|
33
|
+
has: function has(target, name) {
|
|
34
|
+
if (name === 'eval') return false;
|
|
35
|
+
return name in target;
|
|
36
|
+
},
|
|
42
37
|
get: function get(target, name) {
|
|
43
38
|
if (externals.includes(name)) {
|
|
39
|
+
if (name in cache) return cache[name];
|
|
44
40
|
var windowValue = window[name];
|
|
45
41
|
|
|
46
42
|
if (typeof windowValue === 'function' && !isBoundedFunction(windowValue) && !isConstructable(windowValue)) {
|
|
@@ -80,11 +76,12 @@ var Window = /*#__PURE__*/_createClass(function Window() {
|
|
|
80
76
|
return removeEventListener(context);
|
|
81
77
|
}
|
|
82
78
|
|
|
83
|
-
if (
|
|
79
|
+
if (name in cache) {
|
|
84
80
|
return cache[name];
|
|
85
|
-
}
|
|
81
|
+
} // target has it when it is native
|
|
82
|
+
|
|
86
83
|
|
|
87
|
-
if (
|
|
84
|
+
if (name in target) {
|
|
88
85
|
var value = window[name];
|
|
89
86
|
|
|
90
87
|
if (typeof value === 'function' && !isBoundedFunction(value) && !isConstructable(value)) {
|
package/es/events.js
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
2
|
import { isSSR } from './utils/isSSR';
|
|
3
3
|
var rawAddEventListener = !isSSR() ? window.addEventListener : function () {};
|
|
4
|
-
var rawRemoveEventListener = !isSSR() ? window.removeEventListener : function () {};
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
var rawRemoveEventListener = !isSSR() ? window.removeEventListener : function () {}; // export const domEventsListeningTo = [
|
|
5
|
+
// 'webkitmouseforcedown', 'webkitmouseforcewillbegin', 'visibilitychange', 'error',
|
|
6
|
+
// 'mousemove', 'mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick',
|
|
7
|
+
// 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop',
|
|
8
|
+
// 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput',
|
|
9
|
+
// 'close', 'cancel', 'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset', 'submit',
|
|
10
|
+
// 'resize', 'scroll', 'foucs', 'blur',
|
|
11
|
+
// ];
|
|
12
|
+
|
|
7
13
|
export var addEventListener = function addEventListener(context) {
|
|
8
14
|
return function (type, listener, options) {
|
|
9
15
|
var listeners = context._listenerMap.get(type) || [];
|
|
10
16
|
|
|
11
|
-
context._listenerMap.set(type, [].concat(_toConsumableArray(listeners), [listener]));
|
|
17
|
+
context._listenerMap.set(type, [].concat(_toConsumableArray(listeners), [listener])); // if (domEventsListeningTo.indexOf(type) === -1) {
|
|
18
|
+
// return context.baseFrame.addEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
19
|
+
// }
|
|
12
20
|
|
|
13
|
-
if (domEventsListeningTo.indexOf(type) === -1) {
|
|
14
|
-
return context.baseFrame.addEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
15
|
-
}
|
|
16
21
|
|
|
17
22
|
return rawAddEventListener.apply(window, [type, listener, options]);
|
|
18
23
|
};
|
|
@@ -23,11 +28,10 @@ export var removeEventListener = function removeEventListener(context) {
|
|
|
23
28
|
|
|
24
29
|
if (storedTypeListeners && storedTypeListeners.length && storedTypeListeners.indexOf(listener) !== -1) {
|
|
25
30
|
storedTypeListeners.splice(storedTypeListeners.indexOf(listener), 1);
|
|
26
|
-
}
|
|
31
|
+
} // if (domEventsListeningTo.indexOf(type) === -1) {
|
|
32
|
+
// return context.baseFrame.removeEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
33
|
+
// }
|
|
27
34
|
|
|
28
|
-
if (domEventsListeningTo.indexOf(type) === -1) {
|
|
29
|
-
return context.baseFrame.removeEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
30
|
-
}
|
|
31
35
|
|
|
32
36
|
return rawRemoveEventListener.apply(window, [type, listener, options]);
|
|
33
37
|
};
|
package/es/v2/index.js
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
|
-
|
|
4
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
-
|
|
6
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
-
|
|
8
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
9
|
-
import Context from './Context';
|
|
10
3
|
export var createContext = /*#__PURE__*/function () {
|
|
11
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
4
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
12
5
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
13
6
|
while (1) {
|
|
14
7
|
switch (_context.prev = _context.next) {
|
|
15
8
|
case 0:
|
|
16
|
-
_context.next = 2;
|
|
17
|
-
return Context.create(conf);
|
|
18
|
-
|
|
19
|
-
case 2:
|
|
20
|
-
return _context.abrupt("return", _context.sent);
|
|
21
|
-
|
|
22
|
-
case 3:
|
|
23
9
|
case "end":
|
|
24
10
|
return _context.stop();
|
|
25
11
|
}
|
|
@@ -27,23 +13,16 @@ export var createContext = /*#__PURE__*/function () {
|
|
|
27
13
|
}, _callee);
|
|
28
14
|
}));
|
|
29
15
|
|
|
30
|
-
return function createContext(
|
|
16
|
+
return function createContext() {
|
|
31
17
|
return _ref.apply(this, arguments);
|
|
32
18
|
};
|
|
33
19
|
}();
|
|
34
20
|
export var removeContext = /*#__PURE__*/function () {
|
|
35
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(
|
|
21
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
36
22
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
37
23
|
while (1) {
|
|
38
24
|
switch (_context2.prev = _context2.next) {
|
|
39
25
|
case 0:
|
|
40
|
-
_context2.next = 2;
|
|
41
|
-
return Context.remove(context);
|
|
42
|
-
|
|
43
|
-
case 2:
|
|
44
|
-
return _context2.abrupt("return", _context2.sent);
|
|
45
|
-
|
|
46
|
-
case 3:
|
|
47
26
|
case "end":
|
|
48
27
|
return _context2.stop();
|
|
49
28
|
}
|
|
@@ -51,39 +30,7 @@ export var removeContext = /*#__PURE__*/function () {
|
|
|
51
30
|
}, _callee2);
|
|
52
31
|
}));
|
|
53
32
|
|
|
54
|
-
return function removeContext(
|
|
33
|
+
return function removeContext() {
|
|
55
34
|
return _ref2.apply(this, arguments);
|
|
56
35
|
};
|
|
57
|
-
}();
|
|
58
|
-
export var evalScripts = /*#__PURE__*/function () {
|
|
59
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(code) {
|
|
60
|
-
var conf,
|
|
61
|
-
ctx,
|
|
62
|
-
resolver,
|
|
63
|
-
_args3 = arguments;
|
|
64
|
-
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
65
|
-
while (1) {
|
|
66
|
-
switch (_context3.prev = _context3.next) {
|
|
67
|
-
case 0:
|
|
68
|
-
conf = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
|
|
69
|
-
_context3.next = 3;
|
|
70
|
-
return Context.create(conf);
|
|
71
|
-
|
|
72
|
-
case 3:
|
|
73
|
-
ctx = _context3.sent;
|
|
74
|
-
// eslint-disable-next-line no-new-func
|
|
75
|
-
resolver = new Function("\n return function({window, location, history, document}){ \n with(window.__CONSOLE_OS_GLOBAL_VARS_) { \n ".concat(code, "\n }\n }//@sourceURL=").concat(conf.name));
|
|
76
|
-
return _context3.abrupt("return", resolver(_objectSpread({}, ctx)));
|
|
77
|
-
|
|
78
|
-
case 6:
|
|
79
|
-
case "end":
|
|
80
|
-
return _context3.stop();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}, _callee3);
|
|
84
|
-
}));
|
|
85
|
-
|
|
86
|
-
return function evalScripts(_x3) {
|
|
87
|
-
return _ref3.apply(this, arguments);
|
|
88
|
-
};
|
|
89
36
|
}();
|
package/lib/Elements.js
CHANGED
|
@@ -16,10 +16,23 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
16
16
|
* @forwardCompatibleTo 2019085
|
|
17
17
|
* @createAt 2019085
|
|
18
18
|
*/
|
|
19
|
+
var isAllowed = function isAllowed(allowResources, url) {
|
|
20
|
+
if (Array.isArray(allowResources)) {
|
|
21
|
+
var result = allowResources.find(function (rule) {
|
|
22
|
+
if (typeof rule === 'string') return rule === url;
|
|
23
|
+
if (rule instanceof RegExp) return !!url.match(rule);
|
|
24
|
+
return false;
|
|
25
|
+
});
|
|
26
|
+
return !!result;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return false;
|
|
30
|
+
};
|
|
31
|
+
|
|
19
32
|
var makeElInjector = function makeElInjector(originMethod) {
|
|
20
33
|
return function (el) {
|
|
21
34
|
// 如果不在 BrowserVM 的白名单内,尝试通过 context 的 load script 通过 xhr 获取脚本内容,并在沙箱中执行
|
|
22
|
-
if (el && el._evalScriptInSandbox && el.ownerContext && el.nodeName === 'SCRIPT' && el.src && el.ownerContext.allowResources
|
|
35
|
+
if (el && el._evalScriptInSandbox && el.ownerContext && el.nodeName === 'SCRIPT' && el.src && isAllowed(el.ownerContext.allowResources, el.src) && !(0, _injectScriptCallBack.getJsonCallback)(el.src)) {
|
|
23
36
|
return el.ownerContext.loadScripts(el.src).then(function () {
|
|
24
37
|
var fns = el._listenerMap.get('load');
|
|
25
38
|
|
package/lib/Window.js
CHANGED
|
@@ -21,28 +21,18 @@ var _common = require("./utils/common");
|
|
|
21
21
|
* Window.js
|
|
22
22
|
*/
|
|
23
23
|
var globalFnName = ['setTimeout', 'setInterval', 'clearInterval', 'clearTimeout'];
|
|
24
|
-
var defaultExternals = ['requestAnimationFrame', 'webkitRequestAnimationFrame', 'mozRequestAnimationFrame', 'oRequestAnimationFrame', 'msRequestAnimationFrame', 'cancelAnimationFrame', 'webkitCancelAnimationFrame', 'mozCancelAnimationFrame', 'oCancelAnimationFrame', 'msCancelAnimationFrame'];
|
|
25
|
-
|
|
26
|
-
var isExist = function isExist(value) {
|
|
27
|
-
return typeof value !== 'undefined' && value !== null;
|
|
28
|
-
}; // 1. if var in externals, read it from window
|
|
24
|
+
var defaultExternals = ['requestAnimationFrame', 'webkitRequestAnimationFrame', 'mozRequestAnimationFrame', 'oRequestAnimationFrame', 'msRequestAnimationFrame', 'cancelAnimationFrame', 'webkitCancelAnimationFrame', 'mozCancelAnimationFrame', 'oCancelAnimationFrame', 'msCancelAnimationFrame']; // 1. if var in externals, read it from cache or window
|
|
29
25
|
// 2. if var in hack list, read it from iframe's window
|
|
30
26
|
// 3. if var in cache which wrote by micro app, read it from cache
|
|
31
27
|
// 4. if var is native, read it from window
|
|
32
28
|
// 5. otherwise return undefined
|
|
33
29
|
|
|
34
|
-
|
|
35
30
|
var Window = /*#__PURE__*/(0, _createClass2.default)(function Window() {
|
|
36
31
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
37
32
|
var context = arguments.length > 1 ? arguments[1] : undefined;
|
|
38
33
|
var frame = arguments.length > 2 ? arguments[2] : undefined;
|
|
39
34
|
(0, _classCallCheck2.default)(this, Window);
|
|
40
|
-
var externals = [].concat(defaultExternals, (0, _toConsumableArray2.default)(options.externals || []));
|
|
41
|
-
|
|
42
|
-
var isNative = function isNative(variable) {
|
|
43
|
-
return typeof variable === 'string' && variable in frame.contentWindow;
|
|
44
|
-
};
|
|
45
|
-
|
|
35
|
+
var externals = [].concat(defaultExternals, (0, _toConsumableArray2.default)(options.externals || []));
|
|
46
36
|
var cache = {};
|
|
47
37
|
|
|
48
38
|
var __CONSOLE_OS_GLOBAL_VARS_ = new Proxy(frame.contentWindow, {
|
|
@@ -50,8 +40,14 @@ var Window = /*#__PURE__*/(0, _createClass2.default)(function Window() {
|
|
|
50
40
|
cache[name] = value;
|
|
51
41
|
return true;
|
|
52
42
|
},
|
|
43
|
+
// eval will lose it context in with
|
|
44
|
+
has: function has(target, name) {
|
|
45
|
+
if (name === 'eval') return false;
|
|
46
|
+
return name in target;
|
|
47
|
+
},
|
|
53
48
|
get: function get(target, name) {
|
|
54
49
|
if (externals.includes(name)) {
|
|
50
|
+
if (name in cache) return cache[name];
|
|
55
51
|
var windowValue = window[name];
|
|
56
52
|
|
|
57
53
|
if (typeof windowValue === 'function' && !(0, _common.isBoundedFunction)(windowValue) && !(0, _common.isConstructable)(windowValue)) {
|
|
@@ -91,11 +87,12 @@ var Window = /*#__PURE__*/(0, _createClass2.default)(function Window() {
|
|
|
91
87
|
return (0, _events.removeEventListener)(context);
|
|
92
88
|
}
|
|
93
89
|
|
|
94
|
-
if (
|
|
90
|
+
if (name in cache) {
|
|
95
91
|
return cache[name];
|
|
96
|
-
}
|
|
92
|
+
} // target has it when it is native
|
|
93
|
+
|
|
97
94
|
|
|
98
|
-
if (
|
|
95
|
+
if (name in target) {
|
|
99
96
|
var value = window[name];
|
|
100
97
|
|
|
101
98
|
if (typeof value === 'function' && !(0, _common.isBoundedFunction)(value) && !(0, _common.isConstructable)(value)) {
|
package/lib/events.js
CHANGED
|
@@ -5,27 +5,30 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.removeEventListener = exports.
|
|
8
|
+
exports.removeEventListener = exports.addEventListener = void 0;
|
|
9
9
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
|
|
12
12
|
var _isSSR = require("./utils/isSSR");
|
|
13
13
|
|
|
14
14
|
var rawAddEventListener = !(0, _isSSR.isSSR)() ? window.addEventListener : function () {};
|
|
15
|
-
var rawRemoveEventListener = !(0, _isSSR.isSSR)() ? window.removeEventListener : function () {};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
var rawRemoveEventListener = !(0, _isSSR.isSSR)() ? window.removeEventListener : function () {}; // export const domEventsListeningTo = [
|
|
16
|
+
// 'webkitmouseforcedown', 'webkitmouseforcewillbegin', 'visibilitychange', 'error',
|
|
17
|
+
// 'mousemove', 'mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick',
|
|
18
|
+
// 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop',
|
|
19
|
+
// 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput',
|
|
20
|
+
// 'close', 'cancel', 'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset', 'submit',
|
|
21
|
+
// 'resize', 'scroll', 'foucs', 'blur',
|
|
22
|
+
// ];
|
|
19
23
|
|
|
20
24
|
var addEventListener = function addEventListener(context) {
|
|
21
25
|
return function (type, listener, options) {
|
|
22
26
|
var listeners = context._listenerMap.get(type) || [];
|
|
23
27
|
|
|
24
|
-
context._listenerMap.set(type, [].concat((0, _toConsumableArray2.default)(listeners), [listener]));
|
|
28
|
+
context._listenerMap.set(type, [].concat((0, _toConsumableArray2.default)(listeners), [listener])); // if (domEventsListeningTo.indexOf(type) === -1) {
|
|
29
|
+
// return context.baseFrame.addEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
30
|
+
// }
|
|
25
31
|
|
|
26
|
-
if (domEventsListeningTo.indexOf(type) === -1) {
|
|
27
|
-
return context.baseFrame.addEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
28
|
-
}
|
|
29
32
|
|
|
30
33
|
return rawAddEventListener.apply(window, [type, listener, options]);
|
|
31
34
|
};
|
|
@@ -39,11 +42,10 @@ var removeEventListener = function removeEventListener(context) {
|
|
|
39
42
|
|
|
40
43
|
if (storedTypeListeners && storedTypeListeners.length && storedTypeListeners.indexOf(listener) !== -1) {
|
|
41
44
|
storedTypeListeners.splice(storedTypeListeners.indexOf(listener), 1);
|
|
42
|
-
}
|
|
45
|
+
} // if (domEventsListeningTo.indexOf(type) === -1) {
|
|
46
|
+
// return context.baseFrame.removeEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
47
|
+
// }
|
|
43
48
|
|
|
44
|
-
if (domEventsListeningTo.indexOf(type) === -1) {
|
|
45
|
-
return context.baseFrame.removeEventListener.apply(context.baseFrame.contentWindow, [type, listener, options]);
|
|
46
|
-
}
|
|
47
49
|
|
|
48
50
|
return rawRemoveEventListener.apply(window, [type, listener, options]);
|
|
49
51
|
};
|
package/lib/v2/index.js
CHANGED
|
@@ -5,33 +5,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.removeContext = exports.
|
|
8
|
+
exports.removeContext = exports.createContext = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
|
|
16
|
-
var _Context = _interopRequireDefault(require("./Context"));
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
-
|
|
22
14
|
var createContext = /*#__PURE__*/function () {
|
|
23
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(
|
|
15
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
24
16
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
25
17
|
while (1) {
|
|
26
18
|
switch (_context.prev = _context.next) {
|
|
27
19
|
case 0:
|
|
28
|
-
_context.next = 2;
|
|
29
|
-
return _Context.default.create(conf);
|
|
30
|
-
|
|
31
|
-
case 2:
|
|
32
|
-
return _context.abrupt("return", _context.sent);
|
|
33
|
-
|
|
34
|
-
case 3:
|
|
35
20
|
case "end":
|
|
36
21
|
return _context.stop();
|
|
37
22
|
}
|
|
@@ -39,7 +24,7 @@ var createContext = /*#__PURE__*/function () {
|
|
|
39
24
|
}, _callee);
|
|
40
25
|
}));
|
|
41
26
|
|
|
42
|
-
return function createContext(
|
|
27
|
+
return function createContext() {
|
|
43
28
|
return _ref.apply(this, arguments);
|
|
44
29
|
};
|
|
45
30
|
}();
|
|
@@ -47,18 +32,11 @@ var createContext = /*#__PURE__*/function () {
|
|
|
47
32
|
exports.createContext = createContext;
|
|
48
33
|
|
|
49
34
|
var removeContext = /*#__PURE__*/function () {
|
|
50
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(
|
|
35
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
51
36
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
52
37
|
while (1) {
|
|
53
38
|
switch (_context2.prev = _context2.next) {
|
|
54
39
|
case 0:
|
|
55
|
-
_context2.next = 2;
|
|
56
|
-
return _Context.default.remove(context);
|
|
57
|
-
|
|
58
|
-
case 2:
|
|
59
|
-
return _context2.abrupt("return", _context2.sent);
|
|
60
|
-
|
|
61
|
-
case 3:
|
|
62
40
|
case "end":
|
|
63
41
|
return _context2.stop();
|
|
64
42
|
}
|
|
@@ -66,44 +44,9 @@ var removeContext = /*#__PURE__*/function () {
|
|
|
66
44
|
}, _callee2);
|
|
67
45
|
}));
|
|
68
46
|
|
|
69
|
-
return function removeContext(
|
|
47
|
+
return function removeContext() {
|
|
70
48
|
return _ref2.apply(this, arguments);
|
|
71
49
|
};
|
|
72
50
|
}();
|
|
73
51
|
|
|
74
|
-
exports.removeContext = removeContext;
|
|
75
|
-
|
|
76
|
-
var evalScripts = /*#__PURE__*/function () {
|
|
77
|
-
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(code) {
|
|
78
|
-
var conf,
|
|
79
|
-
ctx,
|
|
80
|
-
resolver,
|
|
81
|
-
_args3 = arguments;
|
|
82
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
83
|
-
while (1) {
|
|
84
|
-
switch (_context3.prev = _context3.next) {
|
|
85
|
-
case 0:
|
|
86
|
-
conf = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
|
|
87
|
-
_context3.next = 3;
|
|
88
|
-
return _Context.default.create(conf);
|
|
89
|
-
|
|
90
|
-
case 3:
|
|
91
|
-
ctx = _context3.sent;
|
|
92
|
-
// eslint-disable-next-line no-new-func
|
|
93
|
-
resolver = new Function("\n return function({window, location, history, document}){ \n with(window.__CONSOLE_OS_GLOBAL_VARS_) { \n ".concat(code, "\n }\n }//@sourceURL=").concat(conf.name));
|
|
94
|
-
return _context3.abrupt("return", resolver(_objectSpread({}, ctx)));
|
|
95
|
-
|
|
96
|
-
case 6:
|
|
97
|
-
case "end":
|
|
98
|
-
return _context3.stop();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}, _callee3);
|
|
102
|
-
}));
|
|
103
|
-
|
|
104
|
-
return function evalScripts(_x3) {
|
|
105
|
-
return _ref3.apply(this, arguments);
|
|
106
|
-
};
|
|
107
|
-
}();
|
|
108
|
-
|
|
109
|
-
exports.evalScripts = evalScripts;
|
|
52
|
+
exports.removeContext = removeContext;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alicloud/console-os-browser-vm",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.4-alpha.1",
|
|
4
4
|
"description": "browser virtual machine",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"js-beautify": "^1.10.1",
|
|
31
31
|
"jsdom": "^16.2.2"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "226b5899f3fc8b7929a7606f4ac6e7c7ec7cfdb7"
|
|
34
34
|
}
|
package/es/v2/Elements.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import injectScriptCallBack, { getJsonCallback } from './utils/injectScriptCallBack';
|
|
2
|
-
import { isSSR } from './utils/isSSR';
|
|
3
|
-
|
|
4
|
-
var makeElInjector = function makeElInjector(originMethod) {
|
|
5
|
-
return function (el) {
|
|
6
|
-
// 如果不在 BrowserVM 的白名单内,尝试通过 context 的 load script 通过 xhr 获取脚本内容,并在沙箱中执行
|
|
7
|
-
if (el && el._evalScriptInSandbox && el.ownerContext && el.nodeName === 'SCRIPT' && el.src && el.ownerContext.allowResources.indexOf(el.src) === -1 && !getJsonCallback(el.src)) {
|
|
8
|
-
return el.ownerContext.loadScripts(el.src).then(function () {
|
|
9
|
-
var fns = el._listenerMap.get('load');
|
|
10
|
-
|
|
11
|
-
if (fns) {
|
|
12
|
-
fns.forEach(function (fn) {
|
|
13
|
-
fn();
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
el.onload && el.onload();
|
|
18
|
-
}).catch(function (e) {
|
|
19
|
-
console.error(e);
|
|
20
|
-
|
|
21
|
-
var fns = el._listenerMap.get('error');
|
|
22
|
-
|
|
23
|
-
if (fns) {
|
|
24
|
-
fns.forEach(function (fn) {
|
|
25
|
-
fn(e);
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
el.onerror && el.onerror(e);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (el && el.nodeName === 'SCRIPT' && el.ownerContext) {
|
|
34
|
-
injectScriptCallBack(el);
|
|
35
|
-
} // 如果有 scriptText, 证明在 append 之前被设置了 text
|
|
36
|
-
// 所以直接执行这个 script
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (el && el.scriptText) {
|
|
40
|
-
el.ownerContext.evalScript(el.scriptText);
|
|
41
|
-
} // fix: babel 会把 fn.call 转义成 fn.call.apply 造成 chrome 50 的几个版本报错
|
|
42
|
-
// 这里 尝试 try catch 如果报错 直接调用 fn.apply
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
46
|
-
args[_key - 1] = arguments[_key];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
try {
|
|
50
|
-
return originMethod.call.apply(originMethod, [this, el].concat(args));
|
|
51
|
-
} catch (_unused) {
|
|
52
|
-
return originMethod.apply(this, [el].concat(args));
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
if (!isSSR() && typeof window.Element === 'function') {
|
|
58
|
-
var mountElementMethods = ['appendChild', 'insertBefore', 'append'];
|
|
59
|
-
|
|
60
|
-
for (var _i = 0, _mountElementMethods = mountElementMethods; _i < _mountElementMethods.length; _i++) {
|
|
61
|
-
var method = _mountElementMethods[_i];
|
|
62
|
-
var originMethod = window.Element.prototype[method];
|
|
63
|
-
window.Element.prototype[method] = makeElInjector(originMethod);
|
|
64
|
-
}
|
|
65
|
-
}
|
package/lib/v2/Elements.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
|
|
5
|
-
var _injectScriptCallBack = _interopRequireWildcard(require("./utils/injectScriptCallBack"));
|
|
6
|
-
|
|
7
|
-
var _isSSR = require("./utils/isSSR");
|
|
8
|
-
|
|
9
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
|
-
|
|
11
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
|
-
|
|
13
|
-
var makeElInjector = function makeElInjector(originMethod) {
|
|
14
|
-
return function (el) {
|
|
15
|
-
// 如果不在 BrowserVM 的白名单内,尝试通过 context 的 load script 通过 xhr 获取脚本内容,并在沙箱中执行
|
|
16
|
-
if (el && el._evalScriptInSandbox && el.ownerContext && el.nodeName === 'SCRIPT' && el.src && el.ownerContext.allowResources.indexOf(el.src) === -1 && !(0, _injectScriptCallBack.getJsonCallback)(el.src)) {
|
|
17
|
-
return el.ownerContext.loadScripts(el.src).then(function () {
|
|
18
|
-
var fns = el._listenerMap.get('load');
|
|
19
|
-
|
|
20
|
-
if (fns) {
|
|
21
|
-
fns.forEach(function (fn) {
|
|
22
|
-
fn();
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
el.onload && el.onload();
|
|
27
|
-
}).catch(function (e) {
|
|
28
|
-
console.error(e);
|
|
29
|
-
|
|
30
|
-
var fns = el._listenerMap.get('error');
|
|
31
|
-
|
|
32
|
-
if (fns) {
|
|
33
|
-
fns.forEach(function (fn) {
|
|
34
|
-
fn(e);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
el.onerror && el.onerror(e);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (el && el.nodeName === 'SCRIPT' && el.ownerContext) {
|
|
43
|
-
(0, _injectScriptCallBack.default)(el);
|
|
44
|
-
} // 如果有 scriptText, 证明在 append 之前被设置了 text
|
|
45
|
-
// 所以直接执行这个 script
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (el && el.scriptText) {
|
|
49
|
-
el.ownerContext.evalScript(el.scriptText);
|
|
50
|
-
} // fix: babel 会把 fn.call 转义成 fn.call.apply 造成 chrome 50 的几个版本报错
|
|
51
|
-
// 这里 尝试 try catch 如果报错 直接调用 fn.apply
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
55
|
-
args[_key - 1] = arguments[_key];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
try {
|
|
59
|
-
return originMethod.call.apply(originMethod, [this, el].concat(args));
|
|
60
|
-
} catch (_unused) {
|
|
61
|
-
return originMethod.apply(this, [el].concat(args));
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
if (!(0, _isSSR.isSSR)() && typeof window.Element === 'function') {
|
|
67
|
-
var mountElementMethods = ['appendChild', 'insertBefore', 'append'];
|
|
68
|
-
|
|
69
|
-
for (var _i = 0, _mountElementMethods = mountElementMethods; _i < _mountElementMethods.length; _i++) {
|
|
70
|
-
var method = _mountElementMethods[_i];
|
|
71
|
-
var originMethod = window.Element.prototype[method];
|
|
72
|
-
window.Element.prototype[method] = makeElInjector(originMethod);
|
|
73
|
-
}
|
|
74
|
-
}
|