Cross browser
Hallo mensen
voor nu zet ik even mijn system open want ik heb een big problem.
Ik heb een web editor gemaakt
hij werkt met een frame set pagina
------------------------
|........| Header...........|
|........|----------------|
|Menu.|......................|
|........|..Editor.............|
|........|......................|
|........|......................|
|........|......................|
------------------------
het system kan je vinden op woe.colddot.nl
met inlog: admin
en wachtwoord: (woe)thebest
Alleen nu heb ik een context script gemaakt.
En het context scriptje werkt in het menu frame.
Hij werkt wel in IE maar niet in FF
Hier het context scriptje
Wat hij niet doet in FF is:
Het context menu verschijnt wel enz maar past zich niet aan aan de positie van de muis in FF wel in IE
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<? //IS JAVASCRIPT
var ie5=document.all&&document.getElementById
var ns6=document.getElementById&&!document.all
if (ie5||ns6)
var menuobj=document.getElementById("context")
function showmenu(e){
var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY
menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
if (bottomedge<menuobj.offsetHeight)
menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
else
menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
menuobj.style.visibility="visible"
return false}
function hidemenu(){
menuobj.style.visibility="hidden"
}
function highlight(e){
StopTheClock()
var firingobj=ie5? event.srcElement : e.target
if (firingobj.className=="name"||ns6&&firingobj.parentNode.className=="name"){ if (ns6&&firingobj.parentNode.className=="name") firingobj=firingobj.parentNode
firingobj.style.backgroundColor="#CCCCCC"
}
}
function lowlight(e){
InitializeTimer();
var firingobj=ie5? event.srcElement : e.target
if (firingobj.className=="name"||ns6&&firingobj.parentNode.className=="name"){
if (ns6&&firingobj.parentNode.className=="name")
firingobj=firingobj.parentNode
firingobj.style.backgroundColor=""
}
}
if (ie5||ns6){
menuobj.style.display=''
document.oncontextmenu=showmenu
document.onclick=hidemenu
}
?>
var ie5=document.all&&document.getElementById
var ns6=document.getElementById&&!document.all
if (ie5||ns6)
var menuobj=document.getElementById("context")
function showmenu(e){
var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY
menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
if (bottomedge<menuobj.offsetHeight)
menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
else
menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
menuobj.style.visibility="visible"
return false}
function hidemenu(){
menuobj.style.visibility="hidden"
}
function highlight(e){
StopTheClock()
var firingobj=ie5? event.srcElement : e.target
if (firingobj.className=="name"||ns6&&firingobj.parentNode.className=="name"){ if (ns6&&firingobj.parentNode.className=="name") firingobj=firingobj.parentNode
firingobj.style.backgroundColor="#CCCCCC"
}
}
function lowlight(e){
InitializeTimer();
var firingobj=ie5? event.srcElement : e.target
if (firingobj.className=="name"||ns6&&firingobj.parentNode.className=="name"){
if (ns6&&firingobj.parentNode.className=="name")
firingobj=firingobj.parentNode
firingobj.style.backgroundColor=""
}
}
if (ie5||ns6){
menuobj.style.display=''
document.oncontextmenu=showmenu
document.onclick=hidemenu
}
?>
Wie weet de oplossing of kan mij helpen.
Want ik word hier gek van
Gewijzigd op 30/12/2005 11:55:00 door ColdDoT
Opgelost
En de oplossing is?
var posx = 0;
var posy = 0;
var isOpera = (navigator.userAgent.indexOf('Opera') != -1);
var isIE = (!isOpera && navigator.userAgent.indexOf('MSIE') != -1)
if (!e) var e = window.event;
if (e.pageX || e.pageY)
{
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY)
{
posx = e.clientX;
posy = e.clientY;
if (isIE)
{
posx += document.body.scrollLeft;
posy += document.body.scrollTop;
}
}
menuobj.style.top=posy-8+"px"
menuobj.style.left=posx-5+"px"
menuobj.style.visibility="visible"
return false
}