Project

General

Profile

Actions

Bug #18105

closed

Problem with IE7 while generating new Pages

Added by Christoph RUnkel about 16 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2008-02-03
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.2
PHP Version:
5.2
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

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)


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #26618: IE7 bug on changing block fomat (FormatBlock box)ClosedStanislas Rolland2011-05-04

Actions
Actions #1

Updated by Jo Hasenau about 16 years ago

I can confirm this behaviour

Actions #2

Updated by Mikkel Henriksen over 15 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

Actions #3

Updated by Stefan Neufeind almost 13 years ago

Using window.event for IE7 is somehow related to #26618.

Actions #4

Updated by Alexander Opitz almost 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)?

Actions #5

Updated by Alexander Opitz over 10 years ago

  • Status changed from Needs Feedback to Closed
  • Is Regression set to No

No feedback for over 90 days.

Actions

Also available in: Atom PDF