Bug #36558

Chunk of Menu code disappears in 4.6 when TT_NEWS container is on the page

Added by Sean Fulton about 1 year ago. Updated about 1 year ago.

Status:New Start date:2012-04-25
Priority:Must have Due date:
Assignee:- % Done:

0%

Category:Caching
Target version:-
TYPO3 Version:4.6 Complexity:
PHP Version:5.3
Votes: 0

Description

We recently tried to upgrade a site from 4.5 to 4.6. We found that on pages with a tt_news container, a big chunk of navigation code gets ripped out of the page once it is cached, causing the pull-down navigational elements to appear on the upper-left corner of the screen.

This happens with tt_news 3.0.1 to 3.2.1 and only in Typo3 4.6. The menu elements appear when the cache is cleared, but on reload, the code is missing. What's interesting is that it appears the code is stored in the datase with the cached copy of the page, but is not sent to the browser on reload.

One of our developers reported that if you force the browser to clear its cache, the code will re-appear, but we have not been able to verify that in all browsers.

This is what appears after you clear the cache:

<script type="text/javascript">
/*<![CDATA[*/
<!--

function changeBGcolor(id,color) { //
if (document.getElementById && document.getElementById(id)) {
document.getElementById(id).style.background = color;
return true;
} else if (document.layers && document.layers[id]) {
document.layers[id].bgColor = color;
return true;
}
}

GLV_curLayerWidth["topnav1x"]=0;
GLV_curLayerHeight["topnav1x"]=0;
GLV_curLayerX["topnav1x"]=0;
GLV_curLayerY["topnav1x"]=0;
GLV_menuOn["topnav1x"] = null;
GLV_gap["topnav1x"]=1;
GLV_currentLayer["topnav1x"] = null;
GLV_currentROitem["topnav1x"] = null;
GLV_hasBeenOver["topnav1x"]=0;
GLV_doReset["topnav1x"]=false;
GLV_lastKey["topnav1x"] = "Menutopnav1x8";
GLV_onlyOnLoad["topnav1x"] = 0;
GLV_dontHideOnMouseUp["topnav1x"] = 0;
GLV_dontFollowMouse["topnav1x"] = 0;
GLV_date = new Date();
GLV_timeout["topnav1x"] = GLV_date.getTime();
GLV_timeoutRef["topnav1x"] = 3;
GLV_menuXY["topnav1x"] = new Array();
GLV_menuXY["topnav1x"]["Menutopnav1x0"] = new Array(0,0,"itemID085639d292","anchorID085639d292");
GLV_menuXY["topnav1x"]["Menutopnav1x1"] = new Array(72,24,"itemIDc4a051e098","anchorIDc4a051e098");
GLV_menuXY["topnav1x"]["Menutopnav1x2"] = new Array(143,48,"itemIDeeaab070dc","anchorIDeeaab070dc");
GLV_menuXY["topnav1x"]["Menutopnav1x3"] = new Array(287,72,"itemID72b188f9d0","anchorID72b188f9d0");
GLV_menuXY["topnav1x"]["Menutopnav1x4"] = new Array(362,96,"itemIDa4a8e66ce7","anchorIDa4a8e66ce7");
GLV_menuXY["topnav1x"]["Menutopnav1x5"] = new Array(502,120,"itemIDd3dc74c83c","anchorIDd3dc74c83c");
GLV_menuXY["topnav1x"]["Menutopnav1x6"] = new Array(633,144,"itemIDcf1ff8d4ba","anchorIDcf1ff8d4ba");
GLV_menuXY["topnav1x"]["Menutopnav1x7"] = new Array(741,168,"itemID5524f7cee1","anchorID5524f7cee1");
GLV_menuXY["topnav1x"]["Menutopnav1x8"] = new Array(846,192,"itemID8262b27a67","anchorID8262b27a67");

function GLtopnav1x_getMouse(e) {
if (GLV_menuOn["topnav1x"]!=null && !GLV_dontFollowMouse["topnav1x"]){

}
GL_mouseMoveEvaluate("topnav1x");
}
function GLtopnav1x_hideCode() {
GL_getObjCss("Menutopnav1x1").visibility = "hidden";
GL_getObjCss("Menutopnav1x2").visibility = "hidden";
GL_getObjCss("Menutopnav1x3").visibility = "hidden";
GL_getObjCss("Menutopnav1x6").visibility = "hidden";
GL_getObjCss("Menutopnav1x7").visibility = "hidden";
GL_getObjCss("Menutopnav1x8").visibility = "hidden";
}
function GLtopnav1x_doTop(WMid,id) {
var parentObject = GL_getObj(GLV_menuXY[WMid][id][2]);
var TI_width = parentObject.width;
var TI_height = parentObject.height;
var anchorObj = GL_getObj(GLV_menuXY[WMid][id][3]);
var TI_x = anchorObj.x;
var TI_y = anchorObj.y;

GLV_menuOn["topnav1x"].left = (TI_x+0)+"px";
GLV_menuOn["topnav1x"].top = (TI_y+24)+"px";
}
function GLtopnav1x_restoreMenu() {

}
function GLtopnav1x_resetSubMenus() {
var resetSubMenu=1;

return resetSubMenu;
}

GLV_timeout_pointers[GLV_timeout_count] = "topnav1x";
GLV_timeout_count++;
// -->
/*]]>*/
</script>

This is what appears after you reload the page (ie, once it has been cached).

<script type="text/javascript">
/*<![CDATA[*/
<!--

function changeBGcolor(id,color) { //
if (document.getElementById && document.getElementById(id)) {
document.getElementById(id).style.background = color;
return true;
} else if (document.layers && document.layers[id]) {
document.layers[id].bgColor = color;
return true;
}
}

// -->
/*]]>*/
</script>

History

Updated by Philipp Gampe about 1 year ago

This is a tt_news issue and not a problem of the core ?!
Duplicates: #M18513

Also available in: Atom PDF