Long white space at top of forums

   / Long white space at top of forums #201  
Yeah, we know what's happening, we just don't know why it's happening. We had planned a forum update for this weekend but we're delaying that a few days due to our designer not finishing the coding. In the mean time we keep trying fixes but can't recreate the problem with consistency.

I did a little more digging and think I may have found the source of your menu script (white space) problem, or at least part of it. As far as I can tell, the error is occurring on the following line of the script block quoted below.

this.controlobj = fetch_object(this.controlkey);

After locating and examining the fetch_object() function, it appears as if the problem is with the way the function is called. If the this.controlkey object is null, then the fetch_object() function will always return null, thus causing the menu script to fail. Adding a try...catch statement to handle the error should solve the problem, if I am correct.

Code:
[b]From: [url]http://www.tractorbynet.com/forums/clientscript/vbulletin_menu.js?v=372[/url][/b]

vB_Popup_Menu.prototype.init_control = function (A) {
    this.controlobj = fetch_object(this.controlkey);
    this.controlobj.state = false;
    if (this.controlobj.firstChild && (this.controlobj.firstChild.tagName == "TEXTAREA" || this.controlobj.firstChild.tagName == "INPUT")) {} else {
        if (!A && !(is_mac && is_ie)) {
            var C = document.createTextNode(" ");
            this.controlobj.appendChild(C);
            var B = document.createElement("img");
            B.src = this.imgsrc;
            B.border = 0;
            B.title = "";
            B.alt = "";
            this.img = this.controlobj.appendChild(B)
        }
        this.controlobj.unselectable = true;
        if (!A) {
            this.controlobj.style.cursor = pointer_cursor
        }
        this.controlobj.onclick = vB_Popup_Events.prototype.controlobj_onclick;
        this.controlobj.onmouseover = vB_Popup_Events.prototype.controlobj_onmouseover
    }
};

Code:
[b]From: [url]http://www.tractorbynet.com/forums/clientscript/vbulletin_global.js?v=372[/url][/b]

function fetch_object(A) {
    if (document.getElementById) {
        return document.getElementById(A)
    } else {
        if (document.all) {
            return document.all[A]
        } else {
            if (document.layers) {
                return document.layers[A]
            } else {
                return null
            }
        }
    }
}
 
   / Long white space at top of forums #204  
I did a little more digging and think I may have found the source of your menu script (white space) problem, or at least part of it. As far as I can tell, the error is occurring on the following line of the script block quoted below.

this.controlobj = fetch_object(this.controlkey);

After locating and examining the fetch_object() function, it appears as if the problem is with the way the function is called. If the this.controlkey object is null, then the fetch_object() function will always return null, thus causing the menu script to fail. Adding a try...catch statement to handle the error should solve the problem, if I am correct.

I would think that a try catch statement would be standard procedure whenever one calls for something from an outside source that could possibly not be there.

Aaron Z
 
   / Long white space at top of forums #205  
I would think that a try catch statement would be standard procedure whenever one calls for something from an outside source that could possibly not be there.

I agree that it should be, but many programmers don't use it.
 
   / Long white space at top of forums #206  
I did a little more digging and think I may have found the source of your menu script (white space) problem, or at least part of it. As far as I can tell, the error is occurring on the following line of the script block quoted below.

this.controlobj = fetch_object(this.controlkey);

After locating and examining the fetch_object() function, it appears as if the problem is with the way the function is called. If the this.controlkey object is null, then the fetch_object() function will always return null, thus causing the menu script to fail. Adding a try...catch statement to handle the error should solve the problem, if I am correct.

Code:
[B]From: [URL]http://www.tractorbynet.com/forums/clientscript/vbulletin_menu.js?v=372[/URL][/B]

vB_Popup_Menu.prototype.init_control = function (A) {
    this.controlobj = fetch_object(this.controlkey);
    this.controlobj.state = false;
    if (this.controlobj.firstChild && (this.controlobj.firstChild.tagName == "TEXTAREA" || this.controlobj.firstChild.tagName == "INPUT")) {} else {
        if (!A && !(is_mac && is_ie)) {
            var C = document.createTextNode(" ");
            this.controlobj.appendChild(C);
            var B = document.createElement("img");
            B.src = this.imgsrc;
            B.border = 0;
            B.title = "";
            B.alt = "";
            this.img = this.controlobj.appendChild(B)
        }
        this.controlobj.unselectable = true;
        if (!A) {
            this.controlobj.style.cursor = pointer_cursor
        }
        this.controlobj.onclick = vB_Popup_Events.prototype.controlobj_onclick;
        this.controlobj.onmouseover = vB_Popup_Events.prototype.controlobj_onmouseover
    }
};
Code:
[B]From: [URL]http://www.tractorbynet.com/forums/clientscript/vbulletin_global.js?v=372[/URL][/B]

function fetch_object(A) {
    if (document.getElementById) {
        return document.getElementById(A)
    } else {
        if (document.all) {
            return document.all[A]
        } else {
            if (document.layers) {
                return document.layers[A]
            } else {
                return null
            }
        }
    }
}

Did you find this while the problem was occurring or at all times?
 
   / Long white space at top of forums #207  
Did you find this while the problem was occurring or at all times?

I found it while the problem was occurring, but later noticed it also occurred after the problem had disappeared.

However, the DOM (Document Object Model) has some very weird quirks which can allow even a simple error like this to cause conflicts or failures such as the one you seem to be randomly experiencing. The DOCTYPE declaration can also have an effect, especially when transitional or quirks mode is used.

Oddly, the problem seems to only appear when abbreviations like TBN are underlined using the HTML acronym tags, and depending on what scripting method (server-side assumed) you are using to inject them into the data stream, and when, that could also have a drastic effect on the DOM.

Granted, I could easily be wrong, but it never hurts to address all script errors to eliminate them as possible candidates. Regardless, I know it's a pain, especially after having recently manually debugged over 400,000 lines of code, one line at a time, to chase down a period that was out of place.
 
   / Long white space at top of forums #208  
Between this top page white out, No E-mail notification, And SUN SHINE, I've stopped from being a half a dozen a day visit member to a 1 time VISTOR! I'm very disappointed in TBN. :ashamed:
im with you i was scanning post and all of a sudden here is this lonng white space that enter feers with my the way i check threads oh well just venting a little i hope they correct the problem soon.
 
   / Long white space at top of forums #210  
Did you find this while the problem was occurring or at all times?

Are you including the CSS files within a javascript script? From what I can see looking in the HTML source, sometimes the CSS files are in the HTML source, sometimes they aren't.

I can only see this as a few things:

1: You are running the site on different web servers which are not in sync
2: You are generating the HTML header content dynamically and..
2a: one "if" statement is failing and skipping the CSS lines
2b: you are running multiple DB servers and one has out of date data
3: You are generating the CSS lines via javascript, which sometimes fails to complete
4: Aliens are doing it

Example header HTML:

When all is well:
HTML:
<link rel="stylesheet" type="text/css" href="http://www.tractorbynet.com/forums/clientscript/vbulletin_important.css?v=372" /> 
<link rel="stylesheet" href="http://www.tractorbynet.com/header/reset.css" type="text/css"> 
<link rel="stylesheet" href="http://www.tractorbynet.com/header/default.css" type="text/css"> 
<link rel="stylesheet" href="http://www.tractorbynet.com/header/dropdown.css" type="text/css">

White space:
HTML:
<link rel="stylesheet" type="text/css" href="http://www.tractorbynet.com/forums/clientscript/vbulletin_important.css?v=372" />  
<script type="text/javascript" src="http://www.tractorbynet.com/forums/clientscript/yui/yahoo-dom-event/yahoo-dom-event.js?v=372"></script> 
<script type="text/javascript" src="http://www.tractorbynet.com/forums/clientscript/yui/connection/connection-min.js?v=372"></script>

From what I can see, it is entirely based on different HTML source being served up (which is missing those CSS file entries). What is causing this is up to you. I charge by the hour :p

Not knowing anything about your setup, I would guess it is caused by two web servers being out of sync, as it isn't a one-oiff thing, it always happens to multiple pages in a row. This makes me think a reverse proxy is occasionally pushing us to a web server which is spitting out incomplete header source. Once the reverse proxy times out the session, it sometimes links us back up with a working web server for another spell. My utter guess in a void of logistics ignorance.
 

Tractor & Equipment Auctions

Hilti TE 2000-AVR Electric Jack Hammer (A49461)
Hilti TE 2000-AVR...
2000 John Deere 1860, 30ft Wide, Gandy Box, Wing Fold, 7.5in Spacing (A51039)
2000 John Deere...
Case Ih 2388 Combine (A50514)
Case Ih 2388...
2018 CATERPILLAR 320GC EXCAVATOR (A51242)
2018 CATERPILLAR...
2004 Dodge Ram 1500 SLT Crew Cab Pickup Truck (A50323)
2004 Dodge Ram...
Ingersoll Rand 185 Towable Diesel Air Compressor (A49461)
Ingersoll Rand 185...
 
Top