[javascript] conflict tussen 2 scripts

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
Hoi,

Ik heb een javascript cts dingetje gemaakt met tinymce (klik)
en een ander heeft layout gemaakt met een bewegent menu met hieronder de javascript codes.
nu geeft tinymce een error in internet explorer " 'window' is een leeg of geen object "
dat is alleen als menu erin staat als ik hem weg haal werkt het gewoon. en ik kan het probleem niet vinden. weet iemand het misschien?

dimpletab.js
code:
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
if(typeof(loc)=="undefined"||loc==""){var loc="";if(document.body&&document.body.innerHTML){var tt=document.body.innerHTML;var ml=tt.match(/["']([^'"]*)dimpletab.js["']/i);if(ml && ml.length > 1) loc=ml[1];}}

var bd=0
document.write("<style type=\"text/css\">");
document.write("\n<!--\n");
document.write(".dimpletab_menu {z-index:999;border-color:#000000;border-style:solid;border-width:0px 0px "+bd+"px 0px;background-color:#1c437b;position:absolute;center:0px;top:0px;visibility:hidden;}");
document.write(".dimpletab_plain, a.dimpletab_plain:link, a.dimpletab_plain:visited{text-align:left;background-color:#5A0062;color:#EEF192;text-decoration:none;border-color:#000000;border-style:solid;border-width:0px "+bd+"px 0px "+bd+"px;padding:2px 0px 2px 0px;cursor:hand;display:block;font-size:8pt;font-family:Arial, Helvetica, sans-serif;}");
document.write("a.dimpletab_plain:hover, a.dimpletab_plain:active{background-color:#90009D;color:#ffffff;text-decoration:none;border-color:#000000;border-style:solid;border-width:0px "+bd+"px 0px "+bd+"px;padding:2px 0px 2px 0px;cursor:hand;display:block;font-size:8pt;font-family:Arial, Helvetica, sans-serif;}");
document.write("\n-->\n");
document.write("</style>");

var fc=0x5A0062;
var bc=0x90009D;
if(typeof(frames)=="undefined"){var frames=0;}

startMainMenu("",0,0,2,0,2)
mainMenuItem("dimpletab_b1",".gif",20,200,"","","Informatie",2,2,"dimpletab_plain");
mainMenuItem("",".",1,150,"","","",2,2,"");
mainMenuItem("dimpletab_b2",".gif",20,200,"","","Hulp",2,2,"dimpletab_plain");
endMainMenu("",0,0);

startSubmenu("dimpletab_b2","dimpletab_menu",200);
submenuItem("Hulp nodig?","index.php?id=7","","dimpletab_plain");
submenuItem("Veel gestelde vragen","index.php?id=8","","dimpletab_plain");
submenuItem("Virus info","index.php?id=9","","dimpletab_plain");
endSubmenu("dimpletab_b2");

startSubmenu("dimpletab_b1","dimpletab_menu",200);
submenuItem("Over ons","index.php?id=2","","dimpletab_plain");
submenuItem("Diensten","index.php?id=3","","dimpletab_plain");
submenuItem("Tarieven","index.php?id=4","","dimpletab_plain");
submenuItem("Nieuws","index.php?id=5","","dimpletab_plain");
submenuItem("Contact","index.php?id=6","","dimpletab_plain");
endSubmenu("dimpletab_b1");

loc="";


xanamenu.js (lekker duidelijk)
code:
1
var ma=new Array();var mx=new Array();var my=new Array();var mc=new Array();var mpos=new Array();var mal=0;var main=0;var menuw=200;var psrc=0;var pname="";var al="";var gd=0;var gx,gy;var d=document;var NS7=(!d.all&&d.getElementById);var NS4=(!d.getElementById);var IE5=(!NS4&&!NS7&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1||navigator.userAgent.indexOf('MSIE 5.2')!=-1));var IE5p5=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE 5.5')!=-1);var NS6=(NS7&&navigator.userAgent.indexOf('Netscape6')!=-1);var SAF=navigator.userAgent.indexOf('Safari')!=-1;p=navigator.userAgent.indexOf('Opera');if(p>-1){p=navigator.userAgent.charAt(p+6);if(p>6)NS7=1;else NS4=1;}var ifr=(!NS7&&!NS4&&!IE5&&!IE5p5);var quirk=(d.compatMode&&d.compatMode=="BackCompat")||IE5||IE5p5;function startMainMenu(file,h,w,dir,space,align){if(w>0)menuw=w;main=dir;if(main==1||main==2)d.write("<table border=\"0\" cellspacing=\""+space+"\" cellpadding=\"0\">");if(file!=""){al="";if(align==1)al=" align=\"right\"";if(align==2)al=" align=\"center\"";if(main==1||main==2)d.write("<tr style='line-height:1px'><td"+al+">");d.write("[img]\""+loc+file+"\"[/img]0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");d.write(" />");if(main==1||main==2)d.write("</td>");if(main==1)d.write("</tr>");if(main==3)d.write("<br />");}}function endMainMenu(file,h,w){if(file!=""){if(main==1)d.write("<tr>");if(main==1||main==2)d.write("<td"+al+">");d.write("[img]\""+loc+file+"\"[/img]0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");d.write(" />");if(main==1||main==2)d.write("</td></tr>");}if(main==1||main==2)d.write("</table>");main=0;}function mainMenuItem(name,ext,h,w,url,tar,alt,dir,state,s){if(NS4&&main==0)return;var isgraphic=ext.charAt(0)==".";if(main==1)d.write("<tr>");if(main==1||main==2)d.write("<td"+al+">");d.write("<a ");if(url!=""||!isgraphic){if(typeof(clx)!="undefined"){url="?"+clx;tar="";alt="Click to edit";}d.write("href=\""+url+"\" ");}if(tar!="")d.write("target=\""+tar+"\" ");d.write("onmouseout=\"");if(dir>0)d.write("tidyMenu(event);");d.write("\" onmouseover=\"");if(dir>0)d.write("openMenu(event, '"+name+"',"+dir+","+bc+","+fc+");");if(state>1&&isgraphic){d[name+"_over"]=new Image();d[name+"_over"].src=loc+name+"_over"+ext;d.write("setGraphic(event, '"+loc+name+"_over"+ext+"');");}d.write("return false;\"");if(!isgraphic)d.write(" class=\""+s+"\" style=\"width:"+(w>0?w:menuw)+"px\"");d.write(">");if(isgraphic){d.write("[img]\""+loc+name+ext+"\"[/img]0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");if(alt!="")d.write(" alt=\""+alt+"\"");d.write(" />");}else{d.write("&nbsp;"+ext+"&nbsp;");}d.write("</a>");if(main==1||main==2)d.write("</td>");if(main==1)d.write("</tr>");if(main==3)d.write("<br />");}function startSubmenu(name,style,sw){var depth=name.split("_").length+1000;if(NS4)return;if(sw>0)menuw=sw;d.write("<div id=\""+name+"\" class=\""+style+"\"  style=\"z-index:"+depth+";width:"+(menuw+(NS7?bd*2:0))+"px\">");}function endSubmenu(name){if(NS4)return;d.write("</div>");if(!NS7)d.getElementById(name).onmouseout=tidyMenu;}function submenuItem(text,url,tar,s){if(NS4)return;if(text.charAt(0)=='<')d.write(text);else if(text=="---")d.write("<div class=\""+s+"\" style=\"width:"+menuw+"px\"><center>[img]\""+loc+"---.gif\"[/img]</center></div>");else{d.write("<a ");if(url!="")d.write("href=\""+url+"\" ");if(tar!="")d.write("target=\""+tar+"\" ");d.write("class=\""+s+"\" style=\"width:"+menuw+"px\">&nbsp;"+text+"&nbsp;</a>");}}function setGraphic(event,name){if(NS4)return;psrc=(NS7)?event.target:event.srcElement;pname=psrc.src;if(NS7)event.target.src=name;else event.srcElement.src=name;}function openMenu(event,id,pos,bc,fc){if(NS4)return;var el,x,y,dx,dy;var bwidth;if(gd==0||mal==0){var p=d.getElementById(id);gx=0;gy=0;while(!SAF&&p&&p.offsetParent){p=p.offsetParent;gx+=p.offsetLeft;gy+=p.offsetTop;}if(p)gd=1;}if(mal>0){el=d.getElementById(ma[mal-1]);if(mx[mal-1]!=el.offsetLeft||my[mal-1]!=el.offsetTop){el.style.left=mx[mal-1]+"px";el.style.top=my[mal-1]+"px";}tidyMenu(event);}if(mal>1)pos=mpos[mal-1];if(NS7){bwidth=window.innerWidth;var p=event.target;if(p.nodeName!="A"&&p.nodeName!="IMG"&&p.parentNode.nodeName=="A")p=p.parentNode;dx=p.offsetWidth;dy=p.offsetHeight;if(mal==0){x=p.x;y=p.y;if(typeof(p.x)=="undefined"||(!NS6&&!SAF)){x=p.offsetLeft;y=p.offsetTop;while(!NS6&&p.parentNode.nodeName!="BODY"){p=p.parentNode;if(p.nodeName=="TD"||p.nodeName=="TABLE"){x+=p.offsetLeft;y+=p.offsetTop;}}}}else{el=d.getElementById(ma[mal-1]);x=el.offsetLeft;y=el.offsetTop+p.offsetTop;}if(pos!=3)x-=bd;if(pos==3&&mal>0)x+=bd;}else{bwidth=document.body.clientWidth;x=event.clientX-event.offsetX-d.body.clientLeft-gx;y=event.clientY-event.offsetY-d.body.clientTop-gy;dx=event.srcElement.offsetWidth;dy=event.srcElement.offsetHeight;if(!quirk){x+=d.documentElement.scrollLeft-2;y+=d.documentElement.scrollTop-2;}else{x+=d.body.scrollLeft;y+=d.body.scrollTop;}if(mal>0){y-=bd;if(pos!=3)x-=2*bd;}}el=d.getElementById(id);if(el&&el.style.visibility!="visible"){if(pos==1){x+=dx;el.style.left=x-el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;if(x+gx+el.offsetWidth>bwidth){x-=dx;pos=3;}}else if(pos==2){y+=dy;el.style.left=x+"px";el.style.top=y-el.offsetHeight+"px";nspeed=el.offsetHeight/frames;}if(pos==3){x-=el.offsetWidth;el.style.left=x+el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;if(x+gx<0){x+=el.offsetWidth;pos=1;x+=dx;el.style.left=x-el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;}}mx[mal]=x;my[mal]=y;if(NS7||IE5||frames==0){el.style.left=x+"px";el.style.top=y+"px";}if(!IE5)clipMenu(mal,el);el.style.visibility="visible";ma[mal]=id;mpos[mal]=pos;if(NS7){var p=event.target;if(p.nodeName!="A"&&p.parentNode.nodeName=="A")p=p.parentNode;mc[mal]=p.style;if(!NS6&&mal>0){mc[mal].backgroundColor="#"+bc.toString(16);mc[mal].color="#"+fc.toString(16);}el.onmouseout=tidyMenu;}else{mc[mal]=event.srcElement.style;if(mal>0){mc[mal].backgroundColor=bc;mc[mal].color=fc;}}mal++;}if(ifr&&el&&frames==0&&(typeof(tr)=="undefined"||tr=="")){var p=d.getElementById(id+"i");if(p){p.style.top=y+"px";p.style.left=x+"px";p.style.width=el.style.width;p.style.height=el.offsetHeight+"px";p.style.display="block";}else{ifr="<iframe id=\""+id+"i\" style=\"position:absolute;left:"+x+"px;width:"+el.style.width+";height:"+el.offsetHeight+"px;top:"+y+"px;z-index:998;display:block;\" scrolling=\"no\" frameborder=\"0\"></iframe>";el.insertAdjacentHTML('beforeBegin',ifr);}}}function overMenu(x,y){x-=gx;y-=gy;for(i=mal-1;i>=0;i--){var el=d.getElementById(ma[i]);if(el.offsetLeft+el.offsetWidth>x&&el.offsetLeft<=x&&el.offsetTop+el.offsetHeight>y&&el.offsetTop<=y){return ma[i];}}return "";}function tidyMenu(e){if(NS4)return;if(NS7){t=overMenu(e.pageX,e.pageY);if(t!=""&&(e.target.firstChild==e.relatedTarget||e.target==e.relatedTarget.firstChild))return;}else{var x=event.clientX-d.body.clientLeft;var y=event.clientY-d.body.clientTop;if(!quirk){x+=d.documentElement.scrollLeft-2;y+=d.documentElement.scrollTop-2;}else{x+=d.body.scrollLeft;y+=d.body.scrollTop;}t=overMenu(x,y);}om=0;for(i=0;i<mal;i++){var mail=ma[i].length;if(mail>t.length||t.substring(0,mail)!=ma[i]){var el=d.getElementById(ma[i]);el.style.visibility="hidden";mc[i].backgroundColor="";mc[i].color="";if(ifr){var p=d.getElementById(ma[i]+"i");if(p)p.style.display="none";}}else{ma[om]=ma[i];mx[om]=mx[i];my[om]=my[i];om++;}}mal=om;if(mal==0&&psrc)psrc.src=pname;}function animate(){for(i=0;i<mal;i++){var el=d.getElementById(ma[i]);if(el.style.visibility=="visible"){if(el.offsetLeft<mx[i])el.style.left=Math.min(el.offsetLeft+nspeed,mx[i])+"px";if(el.offsetLeft>mx[i])el.style.left=Math.max(el.offsetLeft-nspeed,mx[i])+"px";if(el.offsetTop<my[i])el.style.top=Math.min(el.offsetTop+nspeed,my[i])+"px";clipMenu(i,el);}}if(mal!=0||frames!=0)setTimeout("animate()",50);}function clipMenu(i,el){if(el.offsetLeft>mx[i])el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+(el.offsetWidth+(mx[i]-el.offsetLeft))+"px "+el.offsetHeight+"px "+0+"px)";else el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+el.offsetWidth+"px "+el.offsetHeight+"px "+(mx[i]-el.offsetLeft)+"px)";}

Verwijderd

Heb je een testcase online, hier komt zelfs Linus Torvalds niet uit.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ehm live voorbeeld zou wel handig zijn ;)



Verwijderd schreef op woensdag 08 juni 2005 @ 14:35:
Heb je een testcase online, hier komt zelfs Linus Torvalds niet uit.
:D :'( :D :+

[ Voor 73% gewijzigd door BtM909 op 08-06-2005 14:37 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
BtM909 schreef op woensdag 08 juni 2005 @ 14:36:
Ehm live voorbeeld zou wel handig zijn ;)





[...]

:D :'( :D :+
hmm ok even gedult, denk namelijk niet dat klant leuk vind dat ik website zo online gooi dus zet ff anders online :)

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Dat xanamenu.js script is waardeloos om te gaan debuggen, zelfs als je regels splitst op } is er geen touw aan vast te knopen.

Ik heb wel een algemene tip om van Javascript errors af te komen: gebruik een Mozilla browser en roep javascript: aan in je URI balk, deze geeft specifiekere foutmeldingen met duidelijke verwijzingen.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 07:43

crisp

Devver

Pixelated

Dat xanamenu ding genereerd ook een shitload aan variabelen in de global scope; dat is natuurlijk vragen om problemen.
Ook dat tinymce is lekker obfuscated en genereerd zo al een hondertal strict warnings in mijn JS console... :/

Intentionally left blank


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
mosymuis schreef op woensdag 08 juni 2005 @ 14:38:
Dat xanamenu.js script is waardeloos om te gaan debuggen, zelfs als je regels splitst op } is er geen touw aan vast te knopen.

Ik heb wel een algemene tip om van Javascript errors af te komen: gebruik een Mozilla browser en roep javascript: aan in je URI balk, deze geeft specifiekere foutmeldingen met duidelijke verwijzingen.
in een mozzila browser werkt hij prima. maar hij moet ook goed werken in internet explorer.

hier is het live voorbeeld:
http://www.stichting-lan.nl/tijdenlijk/voorbeeld.html

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Martink schreef op woensdag 08 juni 2005 @ 14:49:
[...]
in een mozzila browser werkt hij prima. maar hij moet ook goed werken in internet explorer.
Valt toch tegen:

code:
1
2
3
Error: e.relatedTarget has no properties
Source File: http://www.stichting-lan.nl/tijdenlijk/xaramenu.js
Line: 1

(bij het openen van een van de twee menu's)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 07:43

crisp

Devver

Pixelated

mwa, ook in Firefox krijg ik JS errors (naast de honderden warnings):
Error: e.relatedTarget has no properties
Source File: http://www.stichting-lan.nl/tijdenlijk/xaramenu.js
Line: 1
voor dat menu moet toch wel een eenvoudiger oplossing te vinden zijn lijkt me...

[ Voor 20% gewijzigd door crisp op 08-06-2005 14:56 ]

Intentionally left blank


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
crisp schreef op woensdag 08 juni 2005 @ 14:53:
mwa, ook in Firefox krijg ik JS errors (naast de honderden warnings):

[...]


voor dat menu moet toch wel een eenvoudiger oplossing te vinden zijn lijkt me...
hoe krijgen jullie die fouten ik zie helemaal niks :o
Maare moet dus gewoone en ander menu scriptje vinden die het zelfde doet, (ben zelf niet zo goed in javascript om dat te doen :( )

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Martink schreef op woensdag 08 juni 2005 @ 15:01:
hoe krijgen jullie die fouten ik zie helemaal niks :o
Nogmaals; "gebruik een Mozilla browser en roep javascript: aan in je URI balk", of: FF Menu > Tools > JavaScript Console. Er zit zelfs een complete debugger in, al kan ik daar zelf niet mee overweg.
Maare moet dus gewoone en ander menu scriptje vinden die het zelfde doet, (ben zelf niet zo goed in javascript om dat te doen :( )
Clique.

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
mosymuis schreef op woensdag 08 juni 2005 @ 15:39:
[...]

Nogmaals; "gebruik een Mozilla browser en roep javascript: aan in je URI balk", of: FF Menu > Tools > JavaScript Console. Er zit zelfs een complete debugger in, al kan ik daar zelf niet mee overweg.


[...]

Clique.
tja die java console is leeg hier had ik al gekeken.

maargoed ik zal ff clique

  • Eric
  • Registratie: December 2000
  • Laatst online: 05-05 09:45
Zowiezo vraag ik me af waarom je xanamenu.js niet in meerdere regels hebt opgedeelt, dat debugged iig een stuk makkelijker...
Plus dat je dan ook echt iets hebt aan een foutmelding met regelvermelding...
Pagina: 1