![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ts.corals.io/frontend/node_modules/pusher-js/src/runtimes/web/dom/ |
import ScriptReceiver from './script_receiver'; /** Sends a generic HTTP GET request using a script tag. * * By constructing URL in a specific way, it can be used for loading * JavaScript resources or JSONP requests. It can notify about errors, but * only in certain environments. Please take care of monitoring the state of * the request yourself. * * @param {String} src */ export default class ScriptRequest { src: string; script: any; errorScript: any; constructor(src: string) { this.src = src; } send(receiver: ScriptReceiver) { var self = this; var errorString = 'Error loading ' + self.src; self.script = document.createElement('script'); self.script.id = receiver.id; self.script.src = self.src; self.script.type = 'text/javascript'; self.script.charset = 'UTF-8'; if (self.script.addEventListener) { self.script.onerror = function() { receiver.callback(errorString); }; self.script.onload = function() { receiver.callback(null); }; } else { self.script.onreadystatechange = function() { if ( self.script.readyState === 'loaded' || self.script.readyState === 'complete' ) { receiver.callback(null); } }; } // Opera<11.6 hack for missing onerror callback if ( self.script.async === undefined && (<any>document).attachEvent && /opera/i.test(navigator.userAgent) ) { self.errorScript = document.createElement('script'); self.errorScript.id = receiver.id + '_error'; self.errorScript.text = receiver.name + "('" + errorString + "');"; self.script.async = self.errorScript.async = false; } else { self.script.async = true; } var head = document.getElementsByTagName('head')[0]; head.insertBefore(self.script, head.firstChild); if (self.errorScript) { head.insertBefore(self.errorScript, self.script.nextSibling); } } /** Cleans up the DOM remains of the script request. */ cleanup() { if (this.script) { this.script.onload = this.script.onerror = null; this.script.onreadystatechange = null; } if (this.script && this.script.parentNode) { this.script.parentNode.removeChild(this.script); } if (this.errorScript && this.errorScript.parentNode) { this.errorScript.parentNode.removeChild(this.errorScript); } this.script = null; this.errorScript = null; } }