- http://127.0.0.1:37935/xpopup.js
- var _orig_windowOpen = window.open;
- var _orig_windowSetTimeout = window.setTimeout;
- var _orig_windowSetInterval = window.setInterval;
- var _orig_onUnload;
- var _orig_onLoad;
- var _tmpWindowOpen;
- function _emptyWindow( hOpener ){
- this.focus = _safe_focus;
- this.blur = _safe_blur;
- // set to main (parent) window
- this.opener = hOpener;
- // create dummy document object
- this.document = new Object();
- this.document.open = _safe_documentOpen;
- this.document.close = _safe_documentClose;
- this.document.write = _safe_documentWrite;
- this.document.writeln = _safe_documentWriteln;
- }
- // dummy implementations
- function _safe_blur(){
- }
- function _safe_focus(){
- }
- function _safe_documentOpen( sUrl, sName, sFeatures, bReplace ){
- }
- function _safe_documentClose(){
- }
- function _safe_documentWrite( sText ){
- }
- function _safe_documentWriteln( sText ){
- }
- function _isOpenAllowed( sName ){
- return ( sName != '' && sName == window.name) || sName == '_top' || sName == '_self';
- }
- function _safe_open( sURL, sName, sFeatures ){
- if ( _isOpenAllowed( sName ) )
- return _orig_windowOpen(sURL, sName, sFeatures);
- else
- return ( new _emptyWindow( this.window ));
- }
- function _block_windowOpen(){
- // save window open handler
- _tmpWindowOpen = window.open;
- window.open = _safe_open;
- }
- function _unblock_windowOpen(){
- // restore window open handler
- window.open = _tmpWindowOpen;
- }
- function _safe_setInterval( sCode, iMilliSeconds ){
- // first block window.open -> execute the code -> unblock window.open
- return (_orig_windowSetInterval("_block_windowOpen(); " + sCode + "; _unblock_windowOpen();", iMilliSeconds ));
- }
- var m_timeoutCodes = new Array();
- var m_timeoutCodesIndex = 0;
- function executeTimoutCode(index){
- m_timeoutCodes[index].runner();
- }
- function _safe_setTimeout( sCode, iMilliSeconds ){
- // first block window.open -> execute the code -> unblock window.open
- if (typeof(sCode) == "function"){
- m_timeoutCodes[m_timeoutCodesIndex] = new Object();
- m_timeoutCodes[m_timeoutCodesIndex].runner = sCode;
- m_timeoutCodesIndex++;
- return (_orig_windowSetTimeout("_block_windowOpen(); executeTimoutCode(" + (m_timeoutCodesIndex-1) + "); _unblock_windowOpen();", iMilliSeconds ));
- } else {
- return (_orig_windowSetTimeout("_block_windowOpen(); " + sCode + "; _unblock_windowOpen();", iMilliSeconds ));
- }
- }
- function _safe_onLoad(){
- // start blocking
- _block_windowOpen();
- // run original handler
- if (_orig_onLoad)
- _orig_onLoad();
- // stop blocking
- _unblock_windowOpen();
- }
- function _safe_onUnload(){
- // start blocking
- _block_windowOpen();
- // run original handler
- if (_orig_onUnload)
- _orig_onUnload();
- // stop blocking
- _unblock_windowOpen();
- }
- var m_bRunOnlyOne = false;
- function _popupControl(){
- if ( !m_bRunOnlyOne ){
- m_bRunOnlyOne = true;
- // page is processed, allow popup windows
- window.open = _orig_windowOpen;
- // save onload and onunload event handlers
- _orig_onLoad = window.onload;
- _orig_onUnload = window.onunload;
- // replace handlers
- window.onunload = _safe_onUnload;
- window.onload = _safe_onLoad;
- }
- }
- window.setTimeout = _safe_setTimeout;
- window.setInterval = _safe_setInterval;
- window.open = _safe_open;