Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Zimbra and mod_proxy

  1. #1
    dsmalley is offline Junior Member
    Join Date
    Oct 2005
    Posts
    8
    Rep Power
    9

    Default Zimbra and mod_proxy

    I have been having a tough time putting either the web client or the AjaxTK examples on Tomcat and accessing them through Apache using mod_proxy.

    I am using Apache 2.0.55, Tomcat 5.5.12. I have done what I have always done before to make this work, adding proxyName and proxyPort to Tomcat's server.xml, and ProxyPass and ProxyPassReverse to Apache's httpd.conf. That is:

    <Connector port=8080 ...
    proxyName="www.mycompany.com" proxyPort="80"/>

    in Tomcat's server.xml and:

    ProxyRequests Off
    ProxyPass / http://www.mycompany.com:8080/
    ProxyPassReverse / http://www.mycompany.com:8080/

    in Apache's httpd.conf.

    I have built both the ajax.war from AjaxTK and zimbra.war from the web mail client, and they work flawlessly in Tomcat without proxying.

    When I turn proxying on as above, I can, for example, access all the Tomcat examples fine through the proxy. When I access http://www.mycompany.com/ajax, I am directed to the examples.html page, and all the links seem to be correct. When I actually select one of the examples, things seem to get busy with the initial download of all the included .js files, but eventually, the page is blank. I suspect the DwtShell hasn't been created, because, unlike when I access them directly through Tomcat, the browser window context menu is still available. I have compared the actual downloaded content when accessed through either Apache (port 80) or directly from Tomcat (port 8080), and it seems the actual rendered pages are identical. I can only assume that there is a problem with the included or imported files, but all the URL's are relative to the server root, and should work fine.

    I'm sure there is just something stupid I am doing wrong, but I am stumped at this point. Any ideas would be greatly appreciated.

    Dave

  2. #2
    dsmalley is offline Junior Member
    Join Date
    Oct 2005
    Posts
    8
    Rep Power
    9

    Default

    OK, never mind. It was something stupid. God bless Norton IS and their injection of "helpful" script into the http stream. Now I also know why I could never get the debug window to come up (the next frustration I was going to ask about).

    Sorry to bother everybody.

    Dave

  3. #3
    KevinH's Avatar
    KevinH is offline Expert Member
    Join Date
    Aug 2005
    Location
    San Mateo, CA
    Posts
    4,789
    Rep Power
    18

    Default

    Quote Originally Posted by dsmalley
    OK, never mind. It was something stupid. God bless Norton IS and their injection of "helpful" script into the http stream. Now I also know why I could never get the debug window to come up (the next frustration I was going to ask about).

    Sorry to bother everybody.

    Dave
    Is there an option in Norton IS to disable this "feature". Or did you have to totally disable Norton? A few others have had this problem and it'd be nice if we could document this for others who are running Norton.

  4. #4
    dsmalley is offline Junior Member
    Join Date
    Oct 2005
    Posts
    8
    Rep Power
    9

    Default

    There is an option to disable this "feature", at least in IS 2004, which is what I'm using. On the main settings page, click on "Ad Blocking", and then push the "Configure" button. In the dialog which appears, uncheck "Turn on Popup Window Blocking", then click "OK". That's it.

    I don't think disabling this is much of a problem, because most modern browsers have popup blocking (I know IE and Firefox do), and they don't inject script to accomplish it.

    What would be best, of course, would be to disable this "feature" for specific hosts or IP ranges ("localhost" would seem a particularly good candidate for this ), but no such luck. Even sites defined as fully trusted in the IS Firewall are "protected" this way.

    Hope this helps.

    Dave

  5. #5
    PotatoBob is offline Intermediate Member
    Join Date
    Oct 2005
    Posts
    16
    Rep Power
    9

    Default

    But still zimbra does have to work around users with N IS instead of just telling them to disable something.

    There must be some sort of workaround by code...



    By the way I'm using zimbra right now and it just crash again after I just did so much typing. Too bad debug window does not show what happened.

    I've just got the steel theme on to my computer and now lets see what I can do with it hmm Outlook 2003 blue-luna style theme?
    Last edited by PotatoBob; 10-30-2005 at 08:09 PM.

  6. #6
    dsmalley is offline Junior Member
    Join Date
    Oct 2005
    Posts
    8
    Rep Power
    9

    Default

    Yes, a work-around in code would be nice, but I'm not sure it's reasonable to expect. The IS firewall literally adds javascript to http responses which already have script in them (it seems to leave static HTML alone). The bottom line is their (Norton's) script cripples the "window" object in the DOM, and asking somebody to code around this may be impossible, especially when you are doing things as complex as the DWT.

    I don't know what Zimbra's response would be, but when somebody tells me they reserve the right to modify the code I write, but I have to somehow make sure it works anyway, well...

    If you insist on running Internet Explorer, for instance, with the highest possible security level, it just plain disables all script, period. Good luck finding an AJAX client that can solve that problem in code. If you must run Norton IS with popup blocking in the firewall, rather than in the browser, you may be out of luck. Just my two cents worth.

    Dave

  7. #7
    KevinH's Avatar
    KevinH is offline Expert Member
    Join Date
    Aug 2005
    Location
    San Mateo, CA
    Posts
    4,789
    Rep Power
    18

    Default

    Quote Originally Posted by PotatoBob
    But still zimbra does have to work around users with N IS instead of just telling them to disable something.

    There must be some sort of workaround by code...
    If anyone finds one I'll send you some Zimbra wear As the next post said it's not easy when they add script to the code.

    dsmalley, can you post the script they are adding? That might help folks here think out loud with us.

  8. #8
    dsmalley is offline Junior Member
    Join Date
    Oct 2005
    Posts
    8
    Rep Power
    9

    Default

    Sure thing. This block seems to be added at the end of each page response:

    Code:
    <script language="JavaScript">
    <!--
    var SymRealOnLoad;
    var SymRealOnUnload;
    
    function SymOnUnload()
    {
      window.open = SymWinOpen;
      if(SymRealOnUnload != null)
         SymRealOnUnload();
    }
    
    function SymOnLoad()
    {
      if(SymRealOnLoad != null)
         SymRealOnLoad();
      window.open = SymRealWinOpen;
      SymRealOnUnload = window.onunload;
      window.onunload = SymOnUnload;
    }
    
    SymRealOnLoad = window.onload;
    window.onload = SymOnLoad;
    
    //-->
    </script>
    Incidentally, when I was going through mod_proxy, this block was being added twice at the end of the page (logical, I guess...once when Apache retrieved from Tomcat, once again when IE or Firefox retrieved from Apache). It was the second inclusion which resulted in the "blank page"; having it injected only once just disabled the debug window.

    I'm not a script guru, but I've seen discussions of this script on the web where it is characterized as introducing instabilities to the window object.

    Dave

  9. #9
    PotatoBob is offline Intermediate Member
    Join Date
    Oct 2005
    Posts
    16
    Rep Power
    9

    Default

    Im not sure but it seems that that code basically disables the use of window.onload to SymRealOnLoad. Could you post the whole page source?

    usually window.onload is used to start the web apps, but since window.onload executes after the whole page is loaded I have no idea how to get code below the injected code

    would this example of the "defer" option work?
    The problem with defer is that some function may not have loaded so there might need to be somesort of "wait for" type thing

    The firefox DOMContentLoaded should work fine I guess

    Code:
     <!--[if IE]><script defer src="ie_onload.js"></script><![endif]-->
    
    // for Mozilla browsers
    
    if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded", init, null);
    }
    and is this the whole code that is inserted?

    Code:
    var SymRealOnLoad;
    var SymReal;
    
    Sym()
    {
    window.open = SymWinOpen;
    if(SymReal != null)
    SymReal();
    }
    
    SymOnLoad()
    {
    if(SymRealOnLoad != null)
    SymRealOnLoad();
    window.open = SymRealWinOpen;
    SymReal = window.;
    window. = Sym;
    }
    
    SymRealOnLoad = window.onload;
    window.onload = SymOnLoad;
    
    //-->
    
    
    <!--
    var SymRealOnLoad;
    var SymReal;
    
    Sym()
    {
    window.open = SymWinOpen;
    if(SymReal != null)
    SymReal();
    }
    
    SymOnLoad()
    {
    if(SymRealOnLoad != null)
    SymRealOnLoad();
    window.open = SymRealWinOpen;
    SymReal = window.;
    window. = Sym;
    }
    
    SymRealOnLoad = window.onload;
    window.onload = SymOnLoad;
    
    //-->
    
    
    <!--
    var SymRealOnLoad;
    var SymReal;
    
    Sym()
    {
    window.open = SymWinOpen;
    if(SymReal != null)
    SymReal();
    }
    
    SymOnLoad()
    {
    if(SymRealOnLoad != null)
    SymRealOnLoad();
    window.open = SymRealWinOpen;
    SymReal = window.;
    window. = Sym;
    }
    
    SymRealOnLoad = window.onload;
    window.onload = SymOnLoad;
    
    //-->
    
    
    <!--
    var SymRealOnLoad;
    var SymReal;
    
    Sym()
    {
    window.open = SymWinOpen;
    if(SymReal != null)
    SymReal();
    }
    
    SymOnLoad()
    {
    if(SymRealOnLoad != null)
    SymRealOnLoad();
    window.open = SymRealWinOpen;
    SymReal = window.;
    window. = Sym;
    }
    
    SymRealOnLoad = window.onload;
    window.onload = SymOnLoad;
    
    //-->
    Last edited by PotatoBob; 10-31-2005 at 06:24 PM.

  10. #10
    dsmalley is offline Junior Member
    Join Date
    Oct 2005
    Posts
    8
    Rep Power
    9

    Default

    OK, this is the entire page source for the response when I load the TreeExample.jsp from AjaxTK. Note that the block I posted earlier occurs twice at the end, because I am using Apache as a proxy. Apache and IE are running on Windows, that is, on a machine with Norton IS installed and active.

    Code:
    <!-- 
    ***** BEGIN LICENSE BLOCK *****
    Version: ZAPL 1.1
    
    The contents of this file are subject to the Zimbra AJAX Public
    License Version 1.1 ("License"); you may not use this file except in
    compliance with the License. You may obtain a copy of the License at
    http://www.zimbra.com/license
    
    Software distributed under the License is distributed on an "AS IS"
    basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
    the License for the specific language governing rights and limitations
    under the License.
    
    The Original Code is: Zimbra AJAX Toolkit.
    
    The Initial Developer of the Original Code is Zimbra, Inc.
    Portions created by Zimbra are Copyright (C) 2005 Zimbra, Inc.
    All Rights Reserved.
    
    Contributor(s):
    
    ***** END LICENSE BLOCK *****
    -->
    
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Tree Example</title>
        <style type="text/css">
          <!--
            @import url(../common/img/hiRes/dwtimgs.css);
            @import url(img/hiRes/imgs.css);
            @import url(TreeExample.css);
          -->
        </style>
    	
    
    <script language="JavaScript">
    <!--
    
    function SymError()
    {
      return true;
    }
    
    window.onerror = SymError;
    
    var SymRealWinOpen = window.open;
    
    function SymWinOpen(url, name, attributes)
    {
      return (new Object());
    }
    
    window.open = SymWinOpen;
    
    //-->
    </script>
    
    <script language="JavaScript">
    <!--
    
    function SymError()
    {
      return true;
    }
    
    window.onerror = SymError;
    
    var SymRealWinOpen = window.open;
    
    function SymWinOpen(url, name, attributes)
    {
      return (new Object());
    }
    
    window.open = SymWinOpen;
    
    //-->
    </script>
    
    <script language="JavaScript">
        	DwtConfigPath = "/ajax/js/dwt/config";
        </script>
        	
        <!-- 
    ***** BEGIN LICENSE BLOCK *****
    Version: ZAPL 1.1
    
    The contents of this file are subject to the Zimbra AJAX Public
    License Version 1.1 ("License"); you may not use this file except in
    compliance with the License. You may obtain a copy of the License at
    http://www.zimbra.com/license
    
    Software distributed under the License is distributed on an "AS IS"
    basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
    the License for the specific language governing rights and limitations
    under the License.
    
    The Original Code is: Zimbra AJAX Toolkit.
    
    The Initial Developer of the Original Code is Zimbra, Inc.
    Portions created by Zimbra are Copyright (C) 2005 Zimbra, Inc.
    All Rights Reserved.
    
    Contributor(s):
    
    ***** END LICENSE BLOCK *****
    -->
    
    
    <script type="text/javascript" src="/ajax/js/dwt/config/msgs/DwtMsg_en.js"></script>
    <script type="text/javascript" src="/ajax/js/config/msgs/AjxMsg_en.js"></script>
    
    
        <!-- 
    ***** BEGIN LICENSE BLOCK *****
    Version: ZAPL 1.1
    
    The contents of this file are subject to the Zimbra AJAX Public
    License Version 1.1 ("License"); you may not use this file except in
    compliance with the License. You may obtain a copy of the License at
    http://www.zimbra.com/license
    
    Software distributed under the License is distributed on an "AS IS"
    basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
    the License for the specific language governing rights and limitations
    under the License.
    
    The Original Code is: Zimbra AJAX Toolkit.
    
    The Initial Developer of the Original Code is Zimbra, Inc.
    Portions created by Zimbra are Copyright (C) 2005 Zimbra, Inc.
    All Rights Reserved.
    
    Contributor(s):
    
    ***** END LICENSE BLOCK *****
    -->
    
    <!-- BEGIN SCRIPT BLOCK -->
    <!-- WARNING: Order matters.  Don't re-order these unless you know what your doing! -->
    <script type="text/javascript" src="/ajax/js/core/AjxCore.js"></script>
    <script type="text/javascript" src="/ajax/js/core/AjxEnv.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxUtil.js"></script>
    <script type="text/javascript" src="/ajax/js/core/AjxException.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxCookie.js"></script>
    <script type="text/javascript" src="/ajax/js/soap/AjxSoapException.js"></script>
    <script type="text/javascript" src="/ajax/js/soap/AjxSoapFault.js"></script>
    <script type="text/javascript" src="/ajax/js/soap/AjxSoapDoc.js"></script>
    <script type="text/javascript" src="/ajax/js/net/AjxRpcRequest.js"></script>
    <script type="text/javascript" src="/ajax/js/net/AjxRpc.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxWindowOpener.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxVector.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxStringUtil.js"></script>
    <script type="text/javascript" src="/ajax/js/debug/AjxDebug.js"></script>
    <script type="text/javascript" src="/ajax/js/debug/AjxDebugXmlDocument.js"></script>
    <script type="text/javascript" src="/ajax/js/xml/AjxXmlDoc.js"></script>
    <script type="text/javascript" src="/ajax/js/config/data/AjxConfig.js"></script>
    <script type="text/javascript" src="/ajax/js/core/AjxEnv.js"></script>
    <script type="text/javascript" src="/ajax/js/core/AjxImg.js"></script>
    <script type="text/javascript" src="/ajax/js/core/AjxException.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxTimedAction.js"></script>
    <script type="text/javascript" src="/ajax/js/events/AjxEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/events/AjxEventMgr.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxCallback.js"></script>
    <script type="text/javascript" src="/ajax/js/events/AjxListener.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxDateUtil.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxStringUtil.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxVector.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxSelectionManager.js"></script>
    <script type="text/javascript" src="/ajax/js/net/AjxPost.js"></script>
    <script type="text/javascript" src="/ajax/js/util/AjxBuffer.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/core/DwtImg.js"></script>
    
    <script type="text/javascript" src="/ajax/js/dwt/core/Dwt.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/core/DwtException.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/core/DwtDraggable.js"></script>
    
    <script type="text/javascript" src="/ajax/js/dwt/graphics/DwtCssStyle.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/graphics/DwtPoint.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/graphics/DwtRectangle.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/graphics/DwtUnits.js"></script>
    
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtEventManager.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtDateRangeEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtDisposeEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtUiEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtControlEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtKeyEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtMouseEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtMouseEventCapture.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtListViewActionEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtSelectionEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtHtmlEditorStateEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtTreeEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtHoverEvent.js"></script>
    
    <script type="text/javascript" src="/ajax/js/dwt/dnd/DwtDragEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/dnd/DwtDragSource.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/dnd/DwtDropEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/dnd/DwtDropTarget.js"></script>
    
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtHoverMgr.js"></script>
    
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtControl.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtComposite.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtShell.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtColorPicker.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtBaseDialog.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtDialog.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtLabel.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtListView.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtButton.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtMenuItem.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtMenu.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtMessageDialog.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtHtmlEditor.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtSash.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtToolBar.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/graphics/DwtBorder.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtToolTip.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtTreeItem.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtTree.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtCalendar.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtPropertyPage.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtTabView.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtWizardDialog.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtSelect.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtAddRemove.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtAlert.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/widgets/DwtText.js"></script>
    
    <script type="text/javascript" src="/ajax/js/dwt/events/DwtXFormsEvent.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/XFormGlobal.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/XModel.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/XModelItem.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/XForm.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/XFormItem.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/XFormChoices.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/OSelect_XFormItem.js"></script>
    <script type="text/javascript" src="/ajax/js/dwt/xforms/ButtonGrid.js"></script>
    <!-- END SCRIPT BLOCK -->
        <script type="text/javascript" src="ExMsg.js"></script>
        <script type="text/javascript" src="ExImg.js"></script>
        <script type="text/javascript" src="TreeExample.js"></script>
      </head>
        <body>
        <noscript><p><b>Javascript must be enabled to use this.</b></p></noscript>
        <script language="JavaScript">   	
       		function launch() {
       			DBG = new AjxDebug(AjxDebug.NONE, null, false);
     	    	TreeExample.run();
    	    }
            AjxCore.addOnloadListener(launch);
        </script>
        </body>
    </html>
    
    
    <script language="JavaScript">
    <!--
    var SymRealOnLoad;
    var SymRealOnUnload;
    
    function SymOnUnload()
    {
      window.open = SymWinOpen;
      if(SymRealOnUnload != null)
         SymRealOnUnload();
    }
    
    function SymOnLoad()
    {
      if(SymRealOnLoad != null)
         SymRealOnLoad();
      window.open = SymRealWinOpen;
      SymRealOnUnload = window.onunload;
      window.onunload = SymOnUnload;
    }
    
    SymRealOnLoad = window.onload;
    window.onload = SymOnLoad;
    
    //-->
    </script>
    
    
    <script language="JavaScript">
    <!--
    var SymRealOnLoad;
    var SymRealOnUnload;
    
    function SymOnUnload()
    {
      window.open = SymWinOpen;
      if(SymRealOnUnload != null)
         SymRealOnUnload();
    }
    
    function SymOnLoad()
    {
      if(SymRealOnLoad != null)
         SymRealOnLoad();
      window.open = SymRealWinOpen;
      SymRealOnUnload = window.onunload;
      window.onunload = SymOnUnload;
    }
    
    SymRealOnLoad = window.onload;
    window.onload = SymOnLoad;
    
    //-->
    </script>
    My observation is simply this: on my system, using either IE or Firefox or Mozilla as the browser, this page displays absolutely nothing. Exactly why, I leave to the DOM and JavaScript experts to explain. As you mention, nothing appears after the injected script. It appears at global page scope, outside of the HTML tags.

    Dave

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •