Bug #36558
Chunk of Menu code disappears in 4.6 when TT_NEWS container is on the page
| 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