Bug #18105
closedProblem with IE7 while generating new Pages
0%
Description
When generating a new Page in the Pagetree, i get the following JavaScript error:
Line454 column 5 : document [...] is null oder kein objekt (no object)
when i try to store the page though i get the following js alert
"your login has probably expired, do you want to refresh it now?"
IE 7.0 5730.11, Windows XP Professional
PHP 5.2.0, MYSQL 5.0.27
(issue imported from #M7366)
Updated by Mikkel Henriksen about 16 years ago
The problem is that some JS in IE call the functions
pointerX: function(event) { return Event.pointer(event).x },
pointerY: function(event) { return Event.pointer(event).y },
(line 3796 in typo3/contrib/prototype/prototype.js)
with a not valid event, which causes the
pointer: function(event) {
return {
x: event.pageX || (event.clientX +
(document.documentElement.scrollLeft || document.body.scrollLeft)),
y: event.pageY || (event.clientY +
(document.documentElement.scrollTop || document.body.scrollTop))
};
},
(located right on top of the above functions)
to throw an error.
A workaround is to ad if(event) around things using Event.pointerX and Event.pointerY .
The result would be:
mouseMoveEvent: function(event) {
if (!event) {
event = window.event;
}
if(event){
$('dragIcon').style.left = (Event.pointerX(event) + 5) + 'px';
$('dragIcon').style.top = (Event.pointerY(event) - 5) + 'px';
$('dragIcon').style.visibility = 'visible';
}
return false;
},
in typo3/js/tree.js
calcMousePosEvent: function(event) {
if (!event) {
event = window.event;
}
if(event){
this.mousePos.X = Event.pointerX(event);
this.mousePos.Y = Event.pointerY(event);
this.mouseOutFromMenu('contentMenu0');
this.mouseOutFromMenu('contentMenu1');
}
},
in typo3/js/clickmenu.js
draw: function(event) {
if(event){
var pointer = [Event.pointerX(event), Event.pointerY(event)];
var offsets = Position.cumulativeOffset(this.track);
pointer0 -= this.offsetX + offsets0;
pointer1 -= this.offsetY + offsets1;
this.event = event;
this.setValue(this.translateToValue( this.isVertical() ? pointer1 : pointer0 ));
if (this.initialized && this.options.onSlide)
this.options.onSlide(this.values.length>1 ? this.values : this.value, this);
}
},
in typo3/contrib/scriptaculous/slider.js
I'm sure that there must be a better solution e.g. finding out why something is called without the proper event - but it has not been possible for me to locate it.
The code above has removed the problem from my IE7, but there could be other places where it gives ploblems
Updated by Stefan Neufeind over 13 years ago
Using window.event for IE7 is somehow related to #26618.
Updated by Alexander Opitz over 11 years ago
- Status changed from New to Needs Feedback
- Target version deleted (
0)
The issue is very old, does this issue exists in newer versions of TYPO3 CMS (4.5 or 6.1)?
Updated by Alexander Opitz about 11 years ago
- Status changed from Needs Feedback to Closed
- Is Regression set to No
No feedback for over 90 days.