(*** This bug was imported into bugs.kde.org ***) Package: kjs Version: KDE 2.2.1 Severity: normal Installed from: Compiled From Sources Compiler: gcc 2.96 20000731 OS: Linux OS/Compiler notes: Standard gcc from RedHat 7.1 with all updates Logging in at www.sebank.se throws kdeinit in an endless loop printing the error message on line 258 in kdelibs/kjs/string_object.cpp: "Match/Search. Argument is not a RegExp - returning Undefined". It has to be stopped by killing the kdeinit process. Konqueror is set to identify itself as Mozilla/4.7 as they have very strict tests for which browsers they allow (just Netscape and MS Explorer). The site (ssl one time pads) contains lots of frames and JavaScript that loads new contents into the frames after short timeouts. When JavaScript is enabled some of these reloads work but suddenly kdeinit is thrown into an endless loop eating cpu. When JavaScript is disabled the initial contents is loaded fine but since the timeouts aren't activated the evil code is never loaded making it impossible for me to provide any example html/js. I could recompile kdelibs to try to provide a stack trace but would need pretty detailed instructions in how to attach gdb to it. I know gdb but I don't know kde (yet). (Submitted via bugs.kde.org)
--------------Boundary-00=_U0KK753AMPT48W30535X Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit On Dimanche 21 Octobre 2001 20:07 basic@chello.se wrote: > Package: kjs > Version: KDE 2.2.1 > Severity: normal > Installed from: Compiled From Sources > Compiler: gcc 2.96 20000731 > OS: Linux > OS/Compiler notes: Standard gcc from RedHat 7.1 with all updates > > Logging in at www.sebank.se throws kdeinit in an endless loop printing the error message on line 258 in kdelibs/kjs/string_object.cpp: > "Match/Search. Argument is not a RegExp - returning Undefined". I have fixed a bug that was leading to that error message (match and search wanted a regexp as argument and wouldn't accept a string. That's fixed now). I have even backported that fix to the 2.2 branch so if you could get the KDE_2_2_BRANCH of kdelibs from cvs (see http://www.kde.org/anoncvs.html) and recompile kdelibs it'd be the best way to check if this fixed it. Or simply apply the attached patch (in kdelibs/kjs). > The site (ssl one time pads) contains lots of frames and JavaScript that loads new contents into the frames after short timeouts. > When JavaScript is enabled some of these reloads work but suddenly kdeinit is thrown into an endless loop eating cpu. > When JavaScript is disabled the initial contents is loaded fine but since the timeouts aren't activated the evil code is never loaded making it impossible for me to provide any example html/js. Hmm you could grasp the code in Netscape or in wget..... > I could recompile kdelibs to try to provide a stack trace but would need pretty detailed instructions in how to attach gdb to it. I know gdb but I don't know kde (yet). Simply "gdb konqueror" would work fine. kdeinit is a hack to gain on speed but apps can also run independently. -- David FAURE david@mandrakesoft.com faure@kde.org http://perso.mandrakesoft.com/~david/ http://www.konqueror.org/ KDE 3.0: Konquering the Desktops --------------Boundary-00=_U0KK753AMPT48W30535X Content-Type: text/x-diff; charset="iso-8859-1"; name="string_object.cpp.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="string_object.cpp.diff" SW5kZXg6IHN0cmluZ19vYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tqcy9zdHJpbmdfb2Jq ZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMwpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMjMuMi4xCmRpZmYgLXUgLXAgLXIxLjIzIC1yMS4yMy4y LjEKLS0tIHN0cmluZ19vYmplY3QuY3BwCTIwMDEvMDUvMTMgMTY6MTM6NTIJ MS4yMworKysgc3RyaW5nX29iamVjdC5jcHAJMjAwMS8xMC8wNiAxMDoxMzoy NQkxLjIzLjIuMQpAQCAtMjM5LDggKzIzOSwxNyBAQCBDb21wbGV0aW9uIFN0 cmluZ1Byb3RvRnVuYzo6ZXhlY3V0ZShjb25zCiAgIGNhc2UgTWF0Y2g6CiAg IGNhc2UgU2VhcmNoOgogICAgIHUgPSBzLnZhbHVlKCk7Ci0gICAgaWYgKGEw LmlzQShPYmplY3RUeXBlKSAmJiBhMC50b09iamVjdCgpLmdldENsYXNzKCkg PT0gUmVnRXhwQ2xhc3MpIHsKKyAgICBpZiAoYTAuaXNBKE9iamVjdFR5cGUp ICYmIGEwLnRvT2JqZWN0KCkuZ2V0Q2xhc3MoKSA9PSBSZWdFeHBDbGFzcykK ICAgICAgIHMyID0gYTAuZ2V0KCJzb3VyY2UiKS50b1N0cmluZygpOworICAg IGVsc2UgaWYgKGEwLmlzQShTdHJpbmdUeXBlKSkKKyAgICAgIHMyID0gYTAu dG9TdHJpbmcoKTsKKyAgICBlbHNlCisgICAgeworICAgICAgcHJpbnRmKCJL SlM6IE1hdGNoL1NlYXJjaC4gQXJndW1lbnQgaXMgbm90IGEgUmVnRXhwIG5v ciBhIFN0cmluZyAtIHJldHVybmluZyBVbmRlZmluZWRcbiIpOworICAgICAg cmVzdWx0ID0gVW5kZWZpbmVkKCk7IC8vIE5vIGlkZWEgd2hhdCB0byBkbyBo ZXJlCisgICAgICBicmVhazsKKyAgICB9CisgICAgewogICAgICAgUmVnRXhw IHJlZyhzMi52YWx1ZSgpKTsKICAgICAgIFVTdHJpbmcgbXN0ciA9IHJlZy5t YXRjaCh1LCAtMSwgJnBvcyk7CiAgICAgICBpZiAoaWQgPT0gU2VhcmNoKSB7 CkBAIC0yNTMsMTAgKzI2Miw2IEBAIENvbXBsZXRpb24gU3RyaW5nUHJvdG9G dW5jOjpleGVjdXRlKGNvbnMKICAgICAgIH0KICAgICAgIC8qIFRPRE8gcmV0 dXJuIGFuIGFycmF5LCB3aXRoIHRoZSBtYXRjaGVzLCBldGMuICovCiAgICAg ICByZXN1bHQgPSBTdHJpbmcobXN0cik7Ci0gICAgfSBlbHNlCi0gICAgewot ICAgICAgcHJpbnRmKCJNYXRjaC9TZWFyY2guIEFyZ3VtZW50IGlzIG5vdCBh IFJlZ0V4cCAtIHJldHVybmluZyBVbmRlZmluZWRcbiIpOwotICAgICAgcmVz dWx0ID0gVW5kZWZpbmVkKCk7IC8vIE5vIGlkZWEgd2hhdCB0byBkbyBoZXJl CiAgICAgfQogICAgIGJyZWFrOwogICBjYXNlIFJlcGxhY2U6Cg== --------------Boundary-00=_U0KK753AMPT48W30535X--
--ReaqsoxgOBHFXBhH Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun Oct 21 2001 at 08:43:42PM +0200 David Faure wrote: > On Dimanche 21 Octobre 2001 20:07 basic@chello.se wrote: > > "Match/Search. Argument is not a RegExp - returning Undefined". > > I have fixed a bug that was leading to that error message > (match and search wanted a regexp as argument and wouldn't accept a string. > That's fixed now). I have even backported that fix to the 2.2 branch I tried the patch and it works fine. Lots of thanks! The top frame code attached refuses to show the popup menu. It just stays dark grey. The code in wow0001.js detects by testing for document.all and document.layers if the browser is Netscape or MS Explorer but in Konqueror nothing happens. I tried fiddling with the IdentifyAs menu but that doesn't help. /Basic --ReaqsoxgOBHFXBhH Content-Type: text/html; charset=iso-8859-1 Content-Disposition: attachment; filename="sebanktop.html" Content-Transfer-Encoding: quoted-printable <html>=0D <head>=0D <title>S|E|B</title> <script src=3D"/wowjs/wow0001.js"> </script> <script> function loader() { if((this.oldInnerWidth !=3D this.innerWidth) || (this.oldInnerHeight !=3D = this.innerHeight)) { this.oldInnerWidth =3D this.innerWidth; this.oldInnerHeight =3D this.innerHeight; this.frames['nav'].location.href =3D 'wow0002.asp'; } return true; } var popup logOut envelope line; var oLoading; function start() { if(window.parent.frames['content']) { window.parent.frames['content'].location.href =3D '/cgi-bin/pts3/WOW/cgi-= bin/pcb.dll/wo10.c1001.f003'; } popup =3D new popUpMenu("popup" 80 4); popup.createStyle(18 4 785 "#6699CC" "#336699" "#003366" "#000033" = "Verdana Arial Helvetica" "white" "white" "white" 11 1 "black" "#9= 99999"); popup.addEntry('e0'0"root""URL1"); popup.addEntry('e2''e0''Min ekonomi'''81);popup.addEntry('e40''e0''B= =F6rs & Finans'''91);popup.addEntry('e149''e0''Placera'' '50);popup.a= ddEntry('e153''e0''L=E5na'' '34);popup.addEntry('e162''e0''Betala'' = '44);popup.addEntry('e146''e0''Shoppa''/cgi-bin/pts3/WOW/wow/2000/2300/= wow2301.asp'49);popup.addEntry('e6''e0''Kundservice'''77);popup.addEnt= ry('e109''e1''V=E4lkommen''/cgi-bin/pts3/WOW/wowgeneral/wow0024.asp'74)= ;popup.addEntry('e206''e1''Guide''/cgi-bin/pts3/WOW/wow/9000/9600/wow960= 1.asp'38);popup.addEntry('e9''e2''Mina konton'''80);popup.addEntry('e2= 2''e2''Min v=E4rdepappersportf=F6lj'''159);popup.addEntry('e14''e2''M= ina fonder'''79);popup.addEntry('e8''e2''Mina personf=F6rs=E4kringar/IP= S'''180);popup.addEntry('e34''e2''Mina l=E5n'''56);popup.addEntry('e1= 47''e2''Min =F6versikt''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c1145.f00= 1'81);popup.addEntry('e113''e6''Kontakta oss'''87);popup.addEntry('e1'= 'e6''Aktuellt'''54);popup.addEntry('e176''e6''Hj=E4lp'' '35);popup.= addEntry('e211''e6''Mobila banktj=E4nster''/cgi-bin/pts3/WOW/cgi-bin/pcb= .dll/wo38.c3806.f001'126);popup.addEntry('e177''e6''=D6vriga tj=E4nster'= ' '101);popup.addEntry('e89''e8''=D6versikt''/cgi-bin/pts3/WOW/wow/500= 0/5100/wow5101.asp?M1=3DSHOW'57);popup.addEntry('e225''e8''Allm=E4nt''/= cgi-bin/pts3/WOW/wow/5000/5200/wow5201.asp?M1=3DSHOW'52);popup.addEntry('e= 121''e8''V=E4rde''/cgi-bin/pts3/WOW/wow/5000/5400/wow5401.asp?M1=3DSHOW'= 41);popup.addEntry('e122''e8''Aff=E4rer''/cgi-bin/pts3/WOW/wow/5000/530= 0/wow5301.asp?M1=3DSHOW'53);popup.addEntry('e224''e8''Betala ut''/cgi-b= in/pts3/WOW/wow/5000/5500/wow5501.asp?M1=3DSHOW'64);popup.addEntry('e189'= 'e8''Ans=F6k''/cgi-bin/pts3/WOW/wow/3000/3700/wow3703.asp'42);popup.addE= ntry('e10''e9''Konto=F6versikt''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c= 1101.f001'90);popup.addEntry('e126''e9''Valutakonto=F6versikt''/cgi-bin= /pts3/WOW/cgi-bin/pcb.dll/wo11.c1120.f001'127);popup.addEntry('e193''e9'= 'Ans=F6k''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo37.c3711.f001'42);popup.add= Entry('e15''e14''Fond=F6versikt''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo12.= c1201.f001'83);popup.addEntry('e188''e14''Ans=F6k''/cgi-bin/pts3/WOW/cg= i-bin/pcb.dll/wo37.c3702.f001'42);popup.addEntry('e23''e22''Dep=E5=F6ver= sikt''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo13.c1301.f001'85);popup.addEntr= y('e26''e22''Historik''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo13.c1307.f001= '52);popup.addEntry('e187''e22''Ans=F6k''/cgi-bin/pts3/WOW/cgi-bin/pcb.= dll/wo34.c3401.f001'42);popup.addEntry('e35''e34''L=E5ne=F6versikt''/cg= i-bin/pts3/WOW/cgi-bin/pcb.dll/wo15.c1501.f001'83);popup.addEntry('e223''= e34''L=E5n SEB Finans''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo15.c1502.f001'= 97);popup.addEntry('e194''e40''=D6versikt''/cgi-bin/pts3/WOW/wow/2000/2= 100/wow2110.asp'57);popup.addEntry('e138''e40''Kurser'''46);popup.addE= ntry('e136''e40''Nyheter''/cgi-bin/pts3/WOW/wow/2000/2100/wow2150.asp'5= 4);popup.addEntry('e191''e40''Analys''/cgi-bin/pts3/WOW/wow/2000/2600/wo= w2601.asp'45);popup.addEntry('e139''e40''Bevakning''/cgi-bin/pts3/WOW/w= ow/2000/2100/wow2170.asp'66);popup.addEntry('e192''e40''R=E5dgivning''/= cgi-bin/pts3/WOW/wow/2000/2400/wow2401.asp'70);popup.addEntry('e200''e73'= '=D6versikt''/cgi-bin/pts3/WOW/wow/2000/2200/wow2210.asp'57);popup.addEn= try('e100''e73''Kurser'''46);popup.addEntry('e98''e73''Nyheter''/cgi= -bin/pts3/WOW/wow/2000/2200/wow2250.asp'54);popup.addEntry('e97''e73''An= alys''/cgi-bin/pts3/WOW/wow/2000/2200/wow2260.asp'45);popup.addEntry('e10= 1''e73''Bevakning''/cgi-bin/pts3/WOW/wow/2000/2200/wow2270.asp'66);popu= p.addEntry('e102''e73''Skicka meddelande''/cgi-bin/pts3/WOW/wow/2000/220= 0/wow2290.asp'121);popup.addEntry('e201''e100''Aktier''/cgi-bin/pts3/WO= W/wow/2000/2200/wow2231.asp'44);popup.addEntry('e202''e100''Fonder''/cg= i-bin/pts3/WOW/wow/2000/2200/wow2239.asp'47);popup.addEntry('e216''e100'= 'Aktieobligationer''/cgi-bin/pts3/WOW/wow/2000/2200/wow2211.asp'108);popu= p.addEntry('e205''e100''Obligationer''/cgi-bin/pts3/WOW/wow/2000/2200/wo= w2228.asp'78);popup.addEntry('e203''e100''Index''/cgi-bin/pts3/WOW/wow/= 2000/2200/wow2294.asp'40);popup.addEntry('e204''e100''Optioner''/cgi-bi= n/pts3/WOW/wow/2000/2200/wow2244.asp'58);popup.addEntry('e115''e113''Rin= g oss''/cgi-bin/pts3/WOW/wow/4000/wow4001.asp'58);popup.addEntry('e128''= e113''Skicka meddelande''/cgi-bin/pts3/WOW/wow/4000/4100/wow4101.asp'121= );popup.addEntry('e114''e113''L=E4s meddelanden''/cgi-bin/pts3/WOW/wow/4= 000/4100/wow4102.asp'110);popup.addEntry('e178''e113''Mina uppgifter''/= cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo39.c3901.f001'95);popup.addEntry('e221'= 'e113''Mina avtal''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo13.c1341.f001'69= );popup.addEntry('e195''e138''Aktier''/cgi-bin/pts3/WOW/wow/2000/2100/wo= w2131.asp'44);popup.addEntry('e196''e138''Fonder''/cgi-bin/pts3/WOW/wow= /2000/2100/wow2139.asp'47);popup.addEntry('e214''e138''Aktieobligationer= ''/cgi-bin/pts3/WOW/wow/2000/2100/wow2111.asp'108);popup.addEntry('e199'= 'e138''Obligationer''/cgi-bin/pts3/WOW/wow/2000/2100/wow2128.asp'78);pop= up.addEntry('e197''e138''Index''/cgi-bin/pts3/WOW/wow/2000/2100/wow2194.= asp'40);popup.addEntry('e198''e138''Optioner''/cgi-bin/pts3/WOW/wow/200= 0/2100/wow2144.asp'58);popup.addEntry('e150''e149''V=E4rdepapper'' '82= );popup.addEntry('e151''e149''Fonder'' '47);popup.addEntry('e152''e149= ''Liv & Pension'' '89);popup.addEntry('e24''e150''K=F6pa''/cgi-bin/pt= s3/WOW/cgi-bin/pcb.dll/wo13.c1325.f001'35);popup.addEntry('e25''e150''S= =E4lja''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo13.c1330.f001'35);popup.addEn= try('e27''e150''Liggande order''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo13.c= 1306.f001'98);popup.addEntry('e90''e150''Analys''/cgi-bin/pts3/WOW/wow/= 1000/1300/wow1310.asp'45);popup.addEntry('e17''e151''K=F6pa''/cgi-bin/p= ts3/WOW/cgi-bin/pcb.dll/wo12.c1203.f001'35);popup.addEntry('e18''e151''S= =E4lja''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo12.c1204.f001'35);popup.addEn= try('e19''e151''Byta''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo12.c1205.f001'= 34);popup.addEntry('e217''e151''Liggande order''/cgi-bin/pts3/WOW/cgi-b= in/pcb.dll/wo12.c1213.f001'98);popup.addEntry('e20''e151''=C4ndra fondf= =F6rdelning''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo12.c1211.f001'136);popup= .addEntry('e222''e151''M=E5nadsspara''/cgi-bin/pts3/WOW/wow/1000/1200/wo= w1215.asp'82);popup.addEntry('e21''e151''Analys''/cgi-bin/pts3/WOW/wow/= 1000/1300/wow1310.asp'45);popup.addEntry('e124''e152''Extra inbetalning'= '/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo14.c1414.f001'110);popup.addEntry('e= 123''e152''Byta fondandelar''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo14.c140= 5.f001'112);popup.addEntry('e125''e152''=C4ndra fondf=F6rdelning''/cgi-= bin/pts3/WOW/cgi-bin/pcb.dll/wo14.c1402.f001'136);popup.addEntry('e190''e= 152''Analys''/cgi-bin/pts3/WOW/wow/3000/3700/wow3712.asp'45);popup.addEn= try('e208''e153''Kontokredit'''77);popup.addEntry('e155''e153''Bol=E5= n'' '38);popup.addEntry('e154''e153''Enkla l=E5net'' '74);popup.addEn= try('e156''e153''Bill=E5n'' '37);popup.addEntry('e157''e154''Ans=F6k'= '/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo35.c3501.f001'42);popup.addEntry('e1= 58''e154''L=E5nebesked''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo35.c3504.f00= 1'75);popup.addEntry('e159''e155''Ans=F6k''/cgi-bin/pts3/WOW/wow/3000/3= 500/wow3547.asp'42);popup.addEntry('e160''e155''F=F6rl=E4ngning''/cgi-b= in/pts3/WOW/wow/3000/3500/wow3518.asp'74);popup.addEntry('e161''e156''An= s=F6k''/cgi-bin/pts3/WOW/wow/3000/3500/wow3521.asp'42);popup.addEntry('e1= 3''e162''Kommande uppdrag''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c1113.= f001'126);popup.addEntry('e42''e162''Betala pg/bg''/cgi-bin/pts3/WOW/cg= i-bin/pcb.dll/wo11.c1103.f001'86);popup.addEntry('e164''e162''=D6verf=F6= ring'' '71);popup.addEntry('e220''e162''E-giro'''43);popup.addEntry('= e218''e162''Utlandsbetalning''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c11= 49.f001'104);popup.addEntry('e165''e162''Mottagarregister'''109);popup= .addEntry('e169''e162''Ans=F6k'' '42);popup.addEntry('e12''e164''Eng= =E5ngs=F6verf=F6ring''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c1104.f001'1= 17);popup.addEntry('e41''e164''St=E5ende =F6verf=F6ring''/cgi-bin/pts3/W= OW/cgi-bin/pcb.dll/wo11.c1111.f001'125);popup.addEntry('e111''e164''=D6v= ersikt st=E5ende uppdrag''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c1115.f00= 1'166);popup.addEntry('e145''e165''Mina mottagare''/cgi-bin/pts3/WOW/cg= i-bin/pcb.dll/wo11.c1142.f001'103);popup.addEntry('e144''e165''L=E4gga t= ill mottagare''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c1140.f001'134);pop= up.addEntry('e170''e169''Betalservice''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll= /wo37.c3701.f001'79);popup.addEntry('e171''e169''E-giro''/cgi-bin/pts3/= WOW/cgi-bin/pcb.dll/wo31.c3191.f001'43);popup.addEntry('e172''e169''Kort= ''/cgi-bin/pts3/WOW/wow/3000/3150/wow3187.asp'33);popup.addEntry('e106''= e176''Kom ig=E5ng''/cgi-bin/pts3/WOW/wow/9000/wowh9002.asp'70);popup.add= Entry('e207''e176''Teknikhj=E4lp''/cgi-bin/pts3/WOW/wow/9000/wowh9003.as= p'73);popup.addEntry('e219''e176''Vanliga fr=E5gor''/cgi-bin/pts3/WOW/w= ow/9000/wowh9004.asp'94);popup.addEntry('e180''e177''Avbest=E4lla avier'= '/cgi-bin/pts3/WOW/wow/4000/4200/wow4201.asp'105);popup.addEntry('e181''= e177''Flytta konton''/cgi-bin/pts3/WOW/wow/4000/4200/wow4204.asp'90);pop= up.addEntry('e182''e177''Flytta v=E4rdepapper''/cgi-bin/pts3/WOW/cgi-bin= /pcb.dll/wo32.c3201.f001'124);popup.addEntry('e183''e177''Avsluta konton= ''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo33.c3301.f001'99);popup.addEntry('e= 184''e177''Ans=F6k''/cgi-bin/pts3/WOW/wow/4000/4200/wow4220.asp'42);pop= up.addEntry('e210''e177''Produktinformation''/cgi-bin/pts3/WOW/wow/4000/= 4200/wow4221.asp'124);popup.addEntry('e209''e208''Ans=F6k''/cgi-bin/pts= 3/WOW/wow/3000/3500/wow3505.asp'42);popup.addEntry('e140''e220''Betala e= -giro''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c1131.f001'88);popup.addEnt= ry('e186''e220''Behandlade e-giro''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo1= 1.c1134.f001'117);popup.addEntry('e167''e220''Mina e-giromottagare''/cg= i-bin/pts3/WOW/cgi-bin/pcb.dll/wo11.c1130.f001'140);popup.addEntry('e168'= 'e220''F=F6retag med e-giro''/cgi-bin/pts3/WOW/cgi-bin/pcb.dll/wo31.c3192= .f001'129);popup.addEntry('e166''e220''Aktivera/=E4ndra e-giro''/cgi-bi= n/pts3/WOW/cgi-bin/pcb.dll/wo31.c3191.f001'143); popup.create(); if(window.document.layers) { window.parent.captureEvents(Event.RESIZE); window.parent.onResize =3D loader; window.parent.oldInnerHeight =3D window.parent.innerHeight; window.parent.oldInnerWidth =3D window.parent.innerWidth; } logOut =3D new logOutButton('logOut' '/wowimg/loggaut_2.gif' '/cgi-bin/p= ts3/WOW/cgi-bin/pcb.dll/wo10.c1002.f001' 48 9 537 8 window.parent.fram= es['content']); logOut.show(); envelope =3D new logOutButton('hem' '/wowimg/hem.gif' '/cgi-bin/pts3/WOW= /wowgeneral/wow0024.asp' 21 9 595 8 window.parent.frames['content'] "= popup.lastClickedEntryID=3Dpopup.root.id;"); envelope.show(); line =3D new logOutButton('line' '/wowimg/streck.gif' '' 1 10 590 7= window.top); line.show(); /*oLoading =3D new loadingBox('loading'300 15 160'laddar.gif'); oLoading.create();*/ } </script> </head> <body BACKGROUND=3D"/wowimg/bground.gif" onLoad=3D"start();" alink=3D"#ffff= ff"> <img src=3D"/wowimg/loggo.gif" WIDTH=3D"55" HEIGHT=3D"21"> </body> </html> --ReaqsoxgOBHFXBhH Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename="wow0001.js" Content-Transfer-Encoding: 8bit window.onerror = handleError; function handleError() {return true;} var loadingContent = true; var isIE4; var isNAV4; var navRoot; var bookRoot; var maxWidthNs4; var welcomeID; function loadingBox(sName nXpos nYpos nWidth sImage){ this.name = sName; this.oLayer = null; this.x = nXpos; this.y =nYpos; this.width = nWidth; this.image=sImage; this.create = createLoadingBox; this.hide=hideLoadingBox; this.show=showLoadingBox; } function createLoadingBox(){ if(document.layers){ this.oLayer = new Layer(this.width); sTemp = '<layer name="' + this.name + '" visibility="inherit">'; sTemp += '<IMG SRC="/wowimg/'+this.image+'">'; sTemp += '</layer>'; this.oLayer.document.open(); this.oLayer.document.write(sTemp); this.oLayer.document.close(); this.oLayer.top = this.y; this.oLayer.left = this.x; this.oLayer.owner = this; this.oLayer.visibility = 'show'; }else { sTemp = '<div id="' + this.name + '" style="position:absolute; visibility:visible; left:' + this.x + 'px; top:' + this.y + 'px;">'; sTemp += '</div>'; document.body.insertAdjacentHTML('BeforeEnd' sTemp); document.all[this.name].innerHTML = '<IMG SRC="/wowimg/'+this.image+'">'; this.oLayer = document.all.tags('div')(this.name); this.oLayer.owner = this; } } function hideLoadingBox(){if(document.layers){this.oLayer.visibility = 'hide';}else{this.oLayer.style.visibility = 'hidden';}} function showLoadingBox(){if(document.layers){this.oLayer.visibility = 'show';}else{this.oLayer.style.visibility = 'visible';}} var g_bPmsIsChecked = false; var g_bHavePms = false; var g_bSupressMsg = false; var g_iPmsId1g_iPmsId2g_sMsg1g_sMsg2 function savePms(bPmsIsChecked bHavePms bSupressMsg sPrintMsg1 sPrintMsg2 iPmsId1 iPmsId2){ g_bPmsIsChecked = bPmsIsChecked; g_bHavePms = bHavePms; g_bSupressMsg = bSupressMsg; g_sMsg1 = sPrintMsg1; g_sMsg2 = sPrintMsg2; g_iPmsId1 = iPmsId1; g_iPmsId2 = iPmsId2; return true; } function getPms(){ var sArr=new Array(); sArr[0]=g_bPmsIsChecked; sArr[1]=g_bHavePms; sArr[2]=g_bSupressMsg; sArr[3]=g_sMsg1; sArr[4]=g_sMsg2; sArr[5]=g_iPmsId1; sArr[6]=g_iPmsId2; return sArr; } var g_sFile = ""; var g_sServiceId = ""; var g_bHaveInstruction = false; function saveCurrentInfo(sServiceId bHaveInstruction sMyName) { g_sFile = sMyName; g_sServiceId = sServiceId; g_bHaveInstruction = bHaveInstruction; return true; } var numberBunt numberEgiro; numberBunt = 0; numberEgiro = 0; function setBunt(x){ numberBunt = x; } function setEgiro(x){ numberEgiro = x; } function getBunt(){ return numberBunt; } function getEgiro(){ return numberEgiro; } function getCurrentInfo() { var sArr = new Array(); sArr[0] = g_sFile; sArr[1] = g_sServiceId; sArr[2] = g_bHaveInstruction; return sArr; } function InfoObject(sName){ //properties this.name= sName this.elements = new Array(); // methods this.A= AddIns;// creates instruction elements this.Ret= RetIns;// returns content when file name is given this.AP= AddPms;// creates personal message elements this.RetPmsSup= RetPmsSup;// returns supress flag for a personal message } function AddPms(sName bSupress sContent){ if (this.elements[sName]== null) this.elements[sName]=new Object(); this.elements[sName].supress=bSupress; this.elements[sName].content=sContent; } function RetPmsSup(sName1 sName2){ var bSupress = false; if(typeof this.elements[sName1] == 'object'){ bSupress = this.elements[sName1].supress; } if(typeof this.elements[sName2] == 'object'){ bSupress = this.elements[sName2].supress; } return bSupress; } function AddIns(sFileName sContent){ if (this.elements[sFileName]== null) this.elements[sFileName]=new Object(); this.elements[sFileName].content=sContent; } function RetIns(sFileName){ if(typeof this.elements[sFileName] == 'object'){ returnthis.elements[sFileName].content; }else return ''; } function keyURL(URL) { var sTemp = ""; if(URL.indexOf('://') > 0) { sTemp = URL.substring(URL.indexOf('://')+3 URL.length); sTemp = sTemp.substring(sTemp.indexOf('/') sTemp.length); if(sTemp.indexOf('?') > 0) { sTemp = sTemp.substring(0 sTemp.indexOf('?')); } } return sTemp; } function stripQueryFromURL(URL) { var sTemp = ""; if(URL.indexOf('?') > 0) { sTemp = URL.substring(0 URL.indexOf('?')); return sTemp } return URL; } function logOutButton(nameimageSource actionURL imgWidth imgHeight xPos yPos targetWin sUserEvent) { this.name = name; this.objLayer = null; this.imageSource = imageSource; this.actionURL = actionURL; this.imgWidth = imgWidth; this.imgHeight = imgHeight; this.xPos = xPos; this.yPos = yPos; this.targetWin = targetWin; this.sUserEvent = sUserEvent; this.show = showLogout; } function showLogout(){ isNAV4 = (document.layers); if(isNAV4) { this.objLayer = new Layer(this.imgWidth); sTemp = '<layer name="' + this.name + '" visibility="inherit" width="' + this.imgWidth + '" height="' + this.imgHeight + '">'; sTemp += '<a href="#"><img src="' + this.imageSource + '" width="'+ this.imgWidth +'" height="' + this.imgHeight + '" align="right" border="0"></a>'; sTemp += '</layer>'; this.objLayer.document.write(sTemp); this.objLayer.document.close(); this.objLayer.top = this.yPos; this.objLayer.left = this.xPos; this.objLayer.captureEvents(Event.MOUSEUP); this.objLayer.onmouseup=onLogOut; this.objLayer.owner = this; this.objLayer.visibility = 'show'; } else { sTemp = '<div id="'+ this.name +'" style="position:absolute; visibility:visible;left:' + this.xPos + 'px; top:' + this.yPos + 'px; width:' + this.imgWidth + '; height:' + this.imgHeight + ';">'; sTemp += '<img src="' + this.imageSource + '" width="' + this.imgWidth + '" height="' + this.imgHeight + '" align="right" border="0" style="cursor:hand">'; sTemp += '</div>'; document.body.insertAdjacentHTML('BeforeEnd'sTemp); this.objLayer = document.all.tags('div')(this.name); this.objLayer.owner = this; this.objLayer.onmouseup = onLogOut; } } function onLogOut() { var sURL = ''; var objLogout; if(isNAV4) { objLogout = this.owner; sURL = objLogout.actionURL; } else { if(window.event.srcElement.parentElement.owner) { objLogout = window.event.srcElement.parentElement.owner; sURL = objLogout.actionURL; } } if((sURL.length > 0) && (objLogout)) { objLogout.targetWin.location.href = sURL; if(objLogout.sUserEvent != null) eval(objLogout.sUserEvent); } } function popUpMenu(name rootXPos rootYPos hostWindow) { isIE4 = (document.all); isNAV4 = (document.layers); navRoot = '/wow/'; //bookRoot = 'e1'; bookRoot = ''; maxWidthNs4 = 200; welcomeID = 'e109'; this.rootXPos = rootXPos; this.rootYPos = rootYPos; this.name = name; this.hostWindow = (hostWindow != null?hostWindow:window); this.numberBookmarks = numberOfBookmarks; this.style = null; this.Menus = new Array(); this.backContLayer = null; this.lastClickedEntryID = 0; this.elements = new Array(); this.elementsRelAddress = new Array(); this.root = null; this.create = createAllMenus; this.createMenu = createMenu; this.addEntry = addEntry; this.addCreateEntry = addCreateEntry; this.changeEntry = changeEntry; this.createStyle = createStyle; this.createBackCont = createBackCont; this.showEntry = showEntryFromPopup; this.updateLocation = updateLocation; this.hideEntry = hideEntry; this.deleteAllBookmarks = deleteAllBookmarks; this.highLight = popupHighlight; this.lowLight = popupLowlight; } function popupHighlight() { if(this.lastClickedEntryID != 0) { var menuID = this.elements[this.lastClickedEntryID].parent.id var objMenu = this.Menus[menuID] if(isNAV4) { objMenu.objLayer.document.layers[''+ this.lastClickedEntryID].bgColor = this.style.bgColorClicked; } else { objMenu.objLayer.document.all.tags('div')('e_'+ this.lastClickedEntryID).style.backgroundColor = this.style.bgColorClicked; } } } function popupLowlight() { if(this.lastClickedEntryID != 0) { var menuID = this.elements[this.lastClickedEntryID].parent.id var objMenu = this.Menus[menuID] if(isNAV4) { objMenu.objLayer.document.layers[''+ this.lastClickedEntryID].bgColor = objMenu.menuBgColor; } else { objMenu.objLayer.document.all.tags('div')('e_'+ this.lastClickedEntryID).style.backgroundColor = objMenu.menuBgColor; } } } function updateLocation(path) { var entryID = ""; if(this.elementsRelAddress[keyURL(path)]) { entryID = this.elementsRelAddress[keyURL(path)]; } //if(entryID && this.lastClickedEntryID){ if(entryID){ if(entryID != this.lastClickedEntryID) { this.showEntry(entryID); } } } function createAllMenus(ID) { if(ID==null) { var elementObject = this.root; this.createBackCont(); } else { var elementObject = this.elements[ID]; } for (var childId in elementObject.children) { if(elementObject.children[childId].children!=null) this.create(childId); } this.createMenu(elementObject.id((elementObject.parent!=null)?elementObject.parent.id:0)); } function createMenu(ID parentID) { return this.Menus[ID] = new menu(ID parentID this); } function createStyle(menuHeight popupXOffset popupWidth bgColorRoot bgColorChild1 bgColorChild2 bgColorHigh fontFace fontColor1 fontColor2 fontColor3 fontSize borderWidth borderColor bgColorClicked) { return this.style = new style(menuHeight popupXOffset popupWidth bgColorRoot bgColorChild1 bgColorChild2 bgColorHigh fontFace fontColor1 fontColor2 fontColor3 fontSize borderWidth borderColor bgColorClicked); } function createBackCont() { var contWidth = (2*this.style.menuHeight-(this.style.borderWidth*2)); var sTemp = ""; if(isNAV4) { this.backContLayer = new Layer(this.style.popupWidth this.hostWindow); sTemp += "<layer name='backContLayerBgColor' left='0' top='0' BGCOLOR='" + this.style.borderColor + "' WIDTH='" + this.style.popupWidth + "' height='" + contWidth + "' visibility='inherit'>"; sTemp += "<layer name='backContLayerMenuColor' left='" + this.style.borderWidth + "' top='" + this.style.borderWidth + "' BGCOLOR='" + this.style.bgColorRoot + "' WIDTH='" + this.style.popupWidth + "' height='" + contWidth + "' visibility='inherit' clip='" + (this.style.popupWidth - 2*this.style.borderWidth) + "" + (contWidth - 2*this.style.borderWidth) + "'>"; sTemp += "</layer></layer>"; this.backContLayer.document.write(sTemp); this.backContLayer.document.close(); this.backContLayer.left = this.style.popupXOffset; this.backContLayer.top = (this.style.menuHeight + this.rootYPos - this.style.borderWidth); this.backContLayer.visibility = "show"; } else { sTemp = "<DIV ID='backContLayer' STYLE='position:absolute; visibility:visible; left:" + this.style.popupXOffset + "; top:" + (this.style.menuHeight + this.rootYPos - this.style.borderWidth) + "'>"; sTemp += "<DIV ID='backContLayerBgColor' STYLE='position:absolute; left:0px; top:0px; background-color:" + this.style.borderColor + "; width:" + this.style.popupWidth + "px; HEIGHT:" + contWidth + "; VISIBILITY:inherit;'>"; sTemp += "<DIV ID='backContLayerMenuColor' STYLE='position:absolute; left:" + this.style.borderWidth + "px; top:" + this.style.borderWidth + "px; background-color:" + this.style.bgColorRoot + "; width:" + this.style.popupWidth + "px; height:" + contWidth + "px; visibility:inherit; clip:rect(0px " + (this.style.popupWidth - 2*this.style.borderWidth) + "px " + (contWidth - 2*this.style.borderWidth) + "px 0px);'>"; sTemp += "</DIV>"; sTemp += "</DIV>" sTemp += "</DIV>"; this.hostWindow.document.body.insertAdjacentHTML('BeforeEnd'sTemp); this.backContLayer = this.hostWindow.document.all.tags('div')('backContLayer'); } } function addEntry(idparentIDtextURL width) { if(this.elements[id]==null) this.elements[id]=new Object(); this.elements[id].id=id; this.elements[id].text=text; this.elements[id].URL=URL; this.elements[id].width = (width||(text.length*Math.round(this.style.fontSize*0.5))); if(parentID==0) { this.root=this.elements[id]; this.root.parent=0; } else { if(this.elements[parentID]==null) this.elements[parentID]=new Object(); this.elements[id].parent=this.elements[parentID]; if(this.elements[parentID].children==null) { this.elements[parentID].children=new Array() this.elements[parentID].nbChild=0; } this.elements[parentID].children[id]=this.elements[id]; this.elements[parentID].nbChild++; } if((URL.length > 0) && (parentID != bookRoot)) this.elementsRelAddress[stripQueryFromURL(URL)] = id; } function addCreateEntry(idparentIDtextURL width) { if(this.elements[id]) { this.changeEntry(id textURL width); } else { this.addEntry(id parentID text URL width); var sTemp; var menu = this.Menus[parentID]; var tempColor = this.style.bgColorRoot; var tempFontColor = this.style.fontColor1; var thisEntryLayer; if(this.Menus[parentID].menuBgColor) tempColor = this.Menus[parentID].menuBgColor; if(this.Menus[parentID].fontColor) tempFontColor = this.Menus[parentID].fontColor; if(isNAV4) { sTemp = "<font face='" + this.style.fontFace + "' color='" + tempFontColor + "' size='" + this.style.fontSize + "'>"; sTemp += " <a href='#' style='color:" + tempFontColor + ";text-decoration:none;'>" + text + "</a></font>"; thisEntryLayer = new Layer(maxWidthNs4 menu.objLayer); thisEntryLayer.document.write(sTemp); thisEntryLayer.document.close(); thisEntryLayer.left = 0; thisEntryLayer.top = this.style.borderWidth; thisEntryLayer.bgColor = tempColor; thisEntryLayer.clip.width = width; thisEntryLayer.clip.height = this.style.menuHeight - 2*this.style.borderWidth; thisEntryLayer.visibility = 'inherit'; eval("menu.objLayer.layers." + id + "=thisEntryLayer;"); thisEntryLayer.entryID = id; thisEntryLayer.captureEvents(Event.MOUSEOVER); thisEntryLayer.onmouseover=onEnterEntry; thisEntryLayer.captureEvents(Event.MOUSEOUT); thisEntryLayer.onmouseout=onExitEntry; thisEntryLayer.document.captureEvents(Event.MOUSEUP); thisEntryLayer.document.onmouseup=onClickEntry; thisEntryLayer.document.clickID = '' + id; thisEntryLayer.document.clickMenu = this.Menus[parentID]; } else { sTemp = "<DIV ID='e_" + id + "' style='cursor:hand; position:absolute; visibility:inherit; left:0px; top:" + this.style.borderWidth + "px; background-color:" + tempColor + "; width:" + width + "px; height:" + (this.style.menuHeight-2*this.style.borderWidth) + "px;'>"; sTemp += " " + text; sTemp += "</DIV>"; menu.objLayer.insertAdjacentHTML('BeforeEnd'sTemp); menu.objLayer.document.all.tags('div')('e_' + id).parentElement.owner = menu; } } } function changeEntry(id newText newURL newWidth) { if(this.elements[id]) { var parentID = this.elements[id].parent.id; this.elements[id].text = newText; this.elements[id].URL = newURL; this.elements[id].width = newWidth; var tempFontColor = this.style.fontColor1; if(this.Menus[parentID].fontColor) tempFontColor = this.Menus[parentID].fontColor; var sTemp; if(isNAV4) { sTemp = "<font face='" + this.style.fontFace + "' color='" + tempFontColor + "' size='" + this.style.fontSize + "'>"; sTemp += " " + newText + "</font>"; var entryLayer = this.Menus[parentID].objLayer.document.layers[id]; entryLayer.document.write(sTemp); entryLayer.document.close(); entryLayer.clip.width = newWidth; entryLayer.visibility = 'inherit'; } else { sTemp = " " + newText; var entryDiv = this.Menus[parentID].objLayer.document.all.tags('div')('e_' + id); entryDiv.innerHTML = sTemp; entryDiv.style.width = newWidth; entryDiv.style.visibility = 'inherit'; } } } function deleteAllBookmarks() { for(var id in this.elements[bookRoot].children) { if(id.substring(01) == "b") this.hideEntry(id); } } function numberOfBookmarks() { var iTemp=0; for(var id in this.elements[bookRoot].children) { if(id.substring(01) == "b") { if(isNAV4) { if(this.Menus[this.elements[id].parent.id].objLayer.document.layers[id].visibility != 'hide') iTemp++; } else { if(this.Menus[this.elements[id].parent.id].objLayer.document.all.tags('div')('e_' + id).style.visibility != 'hidden') iTemp++; } } } return iTemp; } function hideEntry(id) { var objLayer = this.Menus[this.elements[id].parent.id].objLayer; if(isNAV4) { objLayer.document.layers[''+id].clip.width = 0; objLayer.document.layers[''+id].visibility = "hide"; } else { objLayer.document.all.tags('div')('e_'+id).style.width = 0; objLayer.document.all.tags('div')('e_'+id).style.visibility = "hidden"; } } function showEntryFromPopup(ID) { var clickMenu = this.Menus[this.elements[ID].parent.id]; var clickID = ID; if(this.Menus[this.elements[ID].parent.id]) this.showEntry(this.elements[ID].parent.id); if(clickMenu) { if(clickMenu.activeClickedID != clickID) { clickMenu.unClickedLight(); if(clickMenu.popupParent.Menus[clickMenu.activeClickedID]) { clickMenu.popupParent.Menus[clickMenu.activeClickedID].resetChildren(); } if(clickMenu.popupParent.Menus[clickID]) clickMenu.popupParent.Menus[clickID].show(); } clickMenu.activeClickedID = clickID; clickMenu.clickedLight(); this.lastClickedEntryID = clickID; if(!(this.elements[clickID].nbChild > 0)) this.highLight(); } } function style(menuHeight popupXOffset popupWidth bgColorRoot bgColorChild1 bgColorChild2 bgColorHigh fontFace fontColor1 fontColor2 fontColor3 fontSize borderWidth borderColor bgColorClicked) { this.menuHeight = menuHeight; this.popupXOffset = popupXOffset; this.popupWidth = popupWidth; this.borderWidth = borderWidth; this.bgColorRoot = bgColorRoot; this.bgColorChild1 = bgColorChild1; this.bgColorChild2 = bgColorChild2; this.bgColorHigh = bgColorHigh; this.borderColor = borderColor; this.bgColorClicked = bgColorClicked; this.fontFace = fontFace; this.fontColor1 = fontColor1; this.fontColor2 = fontColor2; this.fontColor3 = fontColor3; this.fontSize = fontSize; } function menu(ID parentID popupParent) { this.ID=ID; this.parentID = (parentID||0); this.activeHighlightID = 0; this.activeClickedID = 0; this.xPos = popupParent.rootXPos; this.yPos = popupParent.rootYPos; this.menuBgColor = popupParent.style.bgColorRoot; this.fontColor = popupParent.style.fontColor1; this.popupParent = popupParent; this.objLayer = null; this.createMenuLayersIE4 = createMenuLayersIE4; this.createMenuLayersNS4 = createMenuLayersNS4; this.highLight = highLight; this.lowLight = lowLight; this.clickedLight = clickedLight; this.unClickedLight = unClickedLight; this.show = showMenu; this.hide = hideMenu; this.resetChildren = resetChildren; this.trim = trimMenu; if(isNAV4) { this.createMenuLayersNS4(); } else { this.createMenuLayersIE4(); } } function showMenu() { if(isNAV4) { this.objLayer.left = this.xPos; this.objLayer.top = this.yPos; this.objLayer.visibility = true; } else { this.objLayer.style.left = this.xPos + 'px'; this.objLayer.style.top = this.yPos + 'px'; this.objLayer.style.visibility = 'visible'; } } function hideMenu(){ if(isNAV4) this.objLayer.visibility = "hide"; else this.objLayer.style.visibility = "hidden"; } function highLight() { if (this.activeHighlightID != 0) { if(isNAV4) { this.objLayer.document.layers[''+ this.activeHighlightID].bgColor = this.popupParent.style.bgColorHigh; } else { this.objLayer.document.all.tags('div')('e_'+ this.activeHighlightID).style.backgroundColor = this.popupParent.style.bgColorHigh; } } } function lowLight() { if (this.activeHighlightID != 0) { if(isNAV4) { var entries = this.popupParent.elements[this.ID]; for(var i in entries.children) { if((entries.children[i].id != this.activeClickedID) && (entries.children[i].id != this.popupParent.lastClickedEntryID)){ this.objLayer.document.layers[''+ entries.children[i].id].bgColor = this.menuBgColor; } } } else { this.objLayer.document.all.tags('div')('e_'+ this.activeHighlightID).style.backgroundColor = this.menuBgColor; } } } function clickedLight() { if((this.activeClickedID != 0) && (this.popupParent.Menus[this.activeClickedID])) { if(isNAV4) { this.objLayer.document.layers[''+ this.activeClickedID].bgColor = this.popupParent.Menus[this.activeClickedID].menuBgColor; this.objLayer.document.layers[''+ this.activeClickedID].clip.height = (this.popupParent.style.menuHeight-2*this.popupParent.style.borderWidth) + this.popupParent.style.borderWidth; this.popupParent.backContLayer.layers[0].layers[0].bgColor = this.popupParent.style.bgColorChild1; } else { this.objLayer.document.all.tags('div')('e_'+ this.activeClickedID).style.backgroundColor = this.popupParent.Menus[this.activeClickedID].menuBgColor; this.objLayer.document.all.tags('div')('e_'+ this.activeClickedID).style.height = (this.popupParent.style.menuHeight-2*this.popupParent.style.borderWidth) + this.popupParent.style.borderWidth; this.popupParent.backContLayer.document.all.tags('div')('backContLayerMenuColor').style.backgroundColor = this.popupParent.style.bgColorChild1; } } } function unClickedLight() { if(isNAV4) { if (this.activeClickedID != 0) { this.objLayer.document.layers[''+ this.activeClickedID].bgColor = this.menuBgColor; this.objLayer.document.layers[''+ this.activeClickedID].clip.height = (this.popupParent.style.menuHeight-2*this.popupParent.style.borderWidth); } } else { if(this.activeClickedID != 0) { this.objLayer.document.all.tags('div')('e_'+ this.activeClickedID).style.backgroundColor = this.menuBgColor; this.objLayer.document.all.tags('div')('e_'+ this.activeClickedID).style.height = (this.popupParent.style.menuHeight-2*this.popupParent.style.borderWidth); } } } function resetChildren(ID) { var menuObject; if(ID==null) { menuObject = this; } else { menuObject = this.popupParent.Menus[ID]; } if(menuObject) { if((menuObject.activeClickedID !=0) && (menuObject.activeClickedID.length > 0)) { this.resetChildren('' + menuObject.activeClickedID); } menuObject.hide(); menuObject.lowLight(); menuObject.unClickedLight(); menuObject.activeHighlightID = 0; menuObject.activeClickedID = 0; } return true; } function createMenuLayersNS4() { var style = this.popupParent.style; var isRoot = (this.parentID == 0); this.objLayer = new Layer(style.popupWidth this.popupParent.hostWindow); var entries = this.popupParent.elements[this.ID]; var sTemp = ""; var iTempXPos = style.borderWidth; var sEntryWidth; var sEntryWidthNS4; var bIsLevel1 = false; var bIsLevel2 = false; if (!isRoot) { if (this.popupParent.elements[this.parentID].parent == 0) { this.menuBgColor = style.bgColorChild1; this.xPos = style.popupXOffset; this.yPos = this.popupParent.rootYPos + style.menuHeight - style.borderWidth; this.fontColor = style.fontColor2; bIsLevel1 = true; } else { this.menuBgColor = style.bgColorChild2; this.xPos = style.popupXOffset; this.yPos = this.popupParent.rootYPos + 2*(style.menuHeight - style.borderWidth); this.fontColor = style.fontColor3; bIsLevel2 = true; } } for(var j in entries.children) var iLastChild = j; var bFirstTime = true; sTemp += "<layer name='borderLayer' left='0' top='0' BGCOLOR='" + style.borderColor + "' WIDTH='" + style.popupWidth + "' height='" + style.menuHeight + "' visibility='inherit'></layer>" for(var i in entries.children) { if ((i == iLastChild) && !isRoot && !bIsLevel1 && !bIsLevel2) sEntryWidth = (style.popupWidth - iTempXPos-style.borderWidth); else { sEntryWidthNS4 = maxWidthNs4; sEntryWidth = entries.children[i].width; } var endText = ''; var thisElt = this.popupParent.elements[entries.children[i].id]; if((thisElt.nbChild > 0) && (thisElt.parent.id != this.popupParent.root.id)) { endText =" »"; sEntryWidth += 11; } sTemp += "<layer name='" + entries.children[i].id + "' left='" + iTempXPos + "' top='" + style.borderWidth + "' BGCOLOR='" + this.menuBgColor + "' WIDTH='" + sEntryWidthNS4 + "' height='" + style.menuHeight + "' visibility='inherit' clip='" + sEntryWidth + "" + (style.menuHeight-2*style.borderWidth) + "'>"; sTemp += "<font style='font-size:" + style.fontSize + "px; font-family:" + style.fontFace + "; color:" + this.fontColor + ";'>"; sTemp += " <a href='#' style='font-size:" + style.fontSize + "px; color:" + this.fontColor + ";text-decoration:none; font-family:" + style.fontFace + ";'>" + entries.children[i].text + endText + "</a>"; sTemp+= "</font>"; sTemp += "</layer>"; if (isRoot && bFirstTime) sTemp += "<div style='position:absolute; left:" + (iTempXPos - style.borderWidth) + "px; top:0px;height:18;width:4;'><img src='/wowimg/cornerleft.gif' height=18 width=4 border=0></div>"; else if (isRoot) sTemp += "<div style='position:absolute; left:" + (iTempXPos -4) + "px; top:0px;height:18;width:4;'><img src='/wowimg/cornercenter.gif' height=18 width= 7 border=0></div>"; bFirstTime = false; if (isRoot && (i==iLastChild)) sTemp += "<div style='position:absolute; left:" + (iTempXPos + sEntryWidth - 3) + "px; top:0px;height:18;width:4;'><img src='/wowimg/cornerright.gif' height=18 width=4 border=0></div>"; iTempXPos += sEntryWidth + style.borderWidth; } if(!isRoot) sTemp += "<layer name='emptyElement' left='" + iTempXPos + "' top='" + style.borderWidth + "' BGCOLOR='" + this.menuBgColor + "' WIDTH='" + (style.popupWidth - iTempXPos - style.borderWidth) + "' height='" + style.menuHeight + "' visibility='inherit' clip='" + (style.popupWidth - iTempXPos-style.borderWidth) + "" + (style.menuHeight-2*style.borderWidth) + "'></layer>"; this.objLayer.document.write(sTemp); this.objLayer.document.close(); this.objLayer.bgColor = style.borderColor; this.objLayer.left = this.xPos; this.objLayer.top = this.yPos; if(isRoot) this.objLayer.clip.width = iTempXPos; this.objLayer.owner=this; for(var i in entries.children) { this.objLayer.document.layers[entries.children[i].id].captureEvents(Event.MOUSEOVER); this.objLayer.document.layers[entries.children[i].id].onmouseover=onEnterEntry; this.objLayer.document.layers[entries.children[i].id].captureEvents(Event.MOUSEOUT); this.objLayer.document.layers[entries.children[i].id].onmouseout=onExitEntry; this.objLayer.document.layers[entries.children[i].id].document.captureEvents(Event.MOUSEUP); this.objLayer.document.layers[entries.children[i].id].document.onmouseup=onClickEntry; this.objLayer.document.layers[entries.children[i].id].document.clickID = entries.children[i].id; this.objLayer.document.layers[entries.children[i].id].document.clickMenu = this; this.objLayer.document.layers[entries.children[i].id].entryID = entries.children[i].id; } this.objLayer.visibility = (isRoot?"show":"hidden"); } function createMenuLayersIE4() { var style = this.popupParent.style; var isRoot = (this.parentID == 0); var entries = this.popupParent.elements[this.ID]; var sTemp = ""; var iTempXPos = style.borderWidth; var sEntryWidth; var bIsLevel1 = false; var bIsLevel2 = false; if (!isRoot) { if (this.popupParent.elements[this.parentID].parent == 0) { this.menuBgColor = style.bgColorChild1; this.xPos = style.popupXOffset; this.yPos = this.popupParent.rootYPos + style.menuHeight - style.borderWidth; this.fontColor = style.fontColor2; bIsLevel1 = true; } else { this.menuBgColor = style.bgColorChild2; this.xPos = style.popupXOffset; this.yPos = this.popupParent.rootYPos + 2*(style.menuHeight - style.borderWidth); this.fontColor = style.fontColor3; bIsLevel2 = true; } } for(var j in entries.children) var iLastChild = j; var bFirstTime = true; sTemp += "<font style='font-family:" + style.fontFace + "; font-size:" + style.fontSize + "px; color:" + this.fontColor + ";'>"; sTemp += "<DIV ID='objLayer" + this.ID + "' style='position:absolute; visibility:visible; left:" + this.xPos + "; top:" + this.yPos + ";'>"; sTemp += "<DIV ID='borderLayer' style='position:absolute; visibility:inherit; left:0px; top:0px; background-color:" + style.borderColor + "; width:" + style.popupWidth + "px; height:" + style.menuHeight + "px;'></DIV>"; for(var i in entries.children) { if ((i == iLastChild) && !isRoot && !bIsLevel1 && !bIsLevel2) sEntryWidth = (style.popupWidth - iTempXPos-style.borderWidth); else sEntryWidth = entries.children[i].width; var endText = ''; var thisElt = this.popupParent.elements[entries.children[i].id]; if((thisElt.nbChild > 0) && (thisElt.parent.id != this.popupParent.root.id)) { endText =" »"; sEntryWidth += 11; } sTemp += "<DIV ID='e_" + entries.children[i].id + "' style='color:" + this.fontColor + "; font-family:" + style.fontFace + "; cursor:hand; font-size:" + style.fontSize + "px; position:absolute; visibility:inherit; left:" + iTempXPos + "px; top:" + style.borderWidth + "px; background-color:" + this.menuBgColor + "; width:" + sEntryWidth + "px; height:" + (style.menuHeight-2*style.borderWidth) + "px;'>"; sTemp += " " + entries.children[i].text + endText; sTemp += "</DIV>"; if (isRoot && bFirstTime) sTemp += "<div style='position:absolute; left:" + (iTempXPos - style.borderWidth) + "px; top:0px;height:18;width:4;'><img src='/wowimg/cornerleft.gif' height=18 width=4 border=0></div>"; else if (isRoot) sTemp += "<div style='position:absolute; left:" + (iTempXPos -4) + "px; top:0px;height:18;width:4;'><img src='/wowimg/cornercenter.gif' height=18 width=7 border=0></div>"; bFirstTime = false; if (isRoot && (i==iLastChild)) sTemp += "<div style='position:absolute; left:" + (iTempXPos + sEntryWidth - 3) + "px; top:0px;height:18;width:4;'><img src='/wowimg/cornerright.gif' height=18 width=4 border=0></div>"; iTempXPos += sEntryWidth + style.borderWidth; } if(!isRoot) sTemp += "<DIV ID='" + this.ID + "_emptyElement' style='position:absolute; visibility:inherit; left:" + iTempXPos + "; top:" + style.borderWidth + "; background-color:" + this.menuBgColor + "; width:" + (style.popupWidth - iTempXPos - style.borderWidth) + "px; height:" + (style.menuHeight-2*style.borderWidth) + "px;'></DIV>"; sTemp += "</DIV></font>"; this.popupParent.hostWindow.document.body.insertAdjacentHTML('BeforeEnd'sTemp); this.objLayer = this.popupParent.hostWindow.document.all.tags('div')('objLayer' + this.ID); this.objLayer.style.visibility = (isRoot?"visible":"hidden"); if(isRoot) this.objLayer.all.tags('DIV')('borderLayer').style.width = iTempXPos; this.objLayer.owner=this; this.objLayer.onmouseover = onEnterEntry; this.objLayer.onmouseout = onExitEntry; this.objLayer.onmouseup = onClickEntry; } function trimMenu(){ var xSum; xSum = this.popupParent.style.borderWidth; for (var childId in this.popupParent.elements[this.ID].children) { if(isNAV4) { if (this.objLayer.layers[childId].visibility =='inherit') { this.objLayer.layers[childId].left = xSum; xSum += this.objLayer.layers[childId].clip.width + this.popupParent.style.borderWidth; } } else { if (this.objLayer.document.all.tags('div')('e_' + childId).style.visibility == 'inherit') { this.objLayer.document.all.tags('div')('e_' + childId).style.left = xSum; xSum += parseInt(this.objLayer.document.all.tags('div')('e_' + childId).style.width) + this.popupParent.style.borderWidth; } } } if(isNAV4) { this.objLayer.layers['emptyElement'].left = xSum; this.objLayer.layers['emptyElement'].clip.width = this.popupParent.style.popupWidth - xSum - this.popupParent.style.borderWidth; } else { this.objLayer.document.all.tags('div')(this.ID + '_emptyElement').style.left = xSum; this.objLayer.document.all.tags('div')(this.ID + '_emptyElement').style.width = this.popupParent.style.popupWidth - xSum - this.popupParent.style.borderWidth; } return true; } function onEnterEntry() { if(isNAV4) { var menuObject = this.parentLayer.owner; var entryID = this.entryID; } else { if(window.event.srcElement.id.substring(02) == "e_") { var menuObject = window.event.srcElement.parentElement.owner; var entryID = window.event.srcElement.id.substring(2window.event.srcElement.id.length); window.event.cancelBubble = true; } } if(menuObject) { if ((menuObject.activeClickedID != entryID) && (menuObject.popupParent.lastClickedEntryID != entryID)) { menuObject.activeHighlightID = entryID; menuObject.highLight(); } } return true; } function onExitEntry() { if(isNAV4) { var menuObject = this.parentLayer.owner; var entryID = this.entryID; } else { if(window.event.srcElement.id.substring(02) == "e_") { var menuObject = window.event.srcElement.parentElement.owner; var entryID = window.event.srcElement.id.substring(2window.event.srcElement.id.length); window.event.cancelBubble = true; } } if(menuObject) { if(menuObject.activeClickedID == entryID){ menuObject.clickedLight(); } else { menuObject.lowLight(); if(menuObject.popupParent.Menus[entryID]) { menuObject.popupParent.Menus[entryID].hide(); } } } return true; } function onClickEntry() { if(isNAV4) { var clickMenu = this.clickMenu; var clickID = this.clickID; } else { if(window.event.srcElement.id.substring(02) == "e_") { var clickMenu = window.event.srcElement.parentElement.owner; var clickID = window.event.srcElement.id.substring(2window.event.srcElement.id.length); } } if(loadingContent==true){alert("Du har begärt en sida innan den föregÃ¥ende laddats klart.\n\nVänta till sidan laddat klart för att inte bli utloggad.");loadingContent=false;return true;} if(clickMenu) { if(clickMenu.activeClickedID != clickID) { clickMenu.unClickedLight(); if(clickMenu.popupParent.Menus[clickMenu.activeClickedID]) { clickMenu.popupParent.Menus[clickMenu.activeClickedID].resetChildren(); } if(clickMenu.popupParent.Menus[clickID]) clickMenu.popupParent.Menus[clickID].show(); } clickMenu.activeClickedID = clickID; clickMenu.clickedLight(); clickMenu.popupParent.lowLight(); if(!(clickMenu.popupParent.elements[clickID].nbChild > 0)) { if(clickMenu.popupParent.elements[clickID].URL.length > 0) { var targetURL = clickMenu.popupParent.elements[clickID].URL; window.parent.frames['content'].location.href = targetURL; loadingContent=true; clickMenu.popupParent.lastClickedEntryID = clickID; //if (oLoading){oLoading.show();} } } clickMenu.popupParent.highLight(); } return true; } --ReaqsoxgOBHFXBhH--
On Dimanche 21 Octobre 2001 22:03 Daniel Brahneborg wrote: > On Sun Oct 21 2001 at 08:43:42PM +0200 David Faure wrote: > > On Dimanche 21 Octobre 2001 20:07 basic@chello.se wrote: > > > "Match/Search. Argument is not a RegExp - returning Undefined". > > > > I have fixed a bug that was leading to that error message > > (match and search wanted a regexp as argument and wouldn't accept a string. > > That's fixed now). I have even backported that fix to the 2.2 branch > > I tried the patch and it works fine. > Lots of thanks! :-) > The top frame code attached refuses to show the popup menu. > It just stays dark grey. The code in wow0001.js detects by testing > for document.all and document.layers if the browser is Netscape or > MS Explorer but in Konqueror nothing happens. Konqueror supports document.all and is usually identified as IE so the problem isn't there. KJS: Failed function call attempt on: undefined : Undefined (0x8463ad8) line 0 KJS: Was property 'insertAdjacentHTML' KJS: of: [object BODY] : HTMLElement (0x8657330) KJS: Type error at line 0. Expression is no object. Cannot be called. insertAdjacentHTML ? And indeed grepping the code: wow0001.js:document.body.insertAdjacentHTML('BeforeEnd' sTemp); wow0001.js:document.body.insertAdjacentHTML('BeforeEnd'sTemp); wow0001.js:this.hostWindow.document.body.insertAdjacentHTML('BeforeEnd'sTemp); wow0001.js:menu.objLayer.insertAdjacentHTML('BeforeEnd'sTemp); wow0001.js:this.popupParent.hostWindow.document.body.insertAdjacentHTML('BeforeEnd'sTemp); http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/insertAdjacentHTML.asp Hmm that's an IE-specific extension. But we have to support it since we want to be IE compatible. Well that's not really my area Peter or Dirk will have a look hopefully ;) -- David FAURE david@mandrakesoft.com faure@kde.org http://perso.mandrakesoft.com/~david/ http://www.konqueror.org/ KDE 3.0: Konquering the Desktops
*** Bug 30781 has been marked as a duplicate of this bug. ***
Testcase also available at http://www.algonet.se/~bjorn/jsexample.zip Will look into this after KDE-3.1 is out.
*** Bug 18204 has been marked as a duplicate of this bug. ***
*** Bug 23328 has been marked as a duplicate of this bug. ***
*** Bug 80332 has been marked as a duplicate of this bug. ***
*** Bug 56656 has been marked as a duplicate of this bug. ***
Created an attachment (id=7623) [details] Patch to implement insertAdjacentHTML Would something like this patch be ok? It's based on code from: http://www.faqts.com/knowledge_base/view.phtml/aid/5756 Since this is the first time I code something in khtml, I'm sure there are some things I'm doing wrong. But at least insertAdjacentHTML seems to work for the tests that I have done, and also that part of www.sebank.se works (but there are other errors later on).
CVS commit by coolo: applying patch to support insertAdjacentHTML after testing it (most test cases available online are interactive though) FEATURE: 33968 M +5 -0 ChangeLog 1.304 M +27 -0 ecma/kjs_dom.cpp 1.181 M +1 -1 ecma/kjs_dom.h 1.72 --- kdelibs/khtml/ChangeLog #1.303:1.304 @@ -1,2 +1,7 @@ +2004-10-17 Stephan Kulow <coolo@kde.org> + + * ecma/kjs_dom.cpp: adding patch by Richard Lärkäng to support IE + extension insertAdjacentHTML (#33968) + 2004-10-16 Allan Sandfeld Jensen <kde@carewolf.com> * html/html_formimpl.cpp: Escape otherwise unencodable characters. --- kdelibs/khtml/ecma/kjs_dom.cpp #1.180:1.181 @@ -65,4 +65,5 @@ using namespace KJS; # IE extensions contains DOMNode::Contains DontDelete|Function 1 + insertAdjacentHTML DOMNode::InsertAdjacentHTML DontDelete|Function 2 # "DOM level 0" (from Gecko DOM reference; also in WinIE) item DOMNode::Item DontDelete|Function 1 @@ -497,4 +498,30 @@ Value DOMNodeProtoFunc::tryCall(ExecStat return Undefined(); } + case DOMNode::InsertAdjacentHTML: + { + // see http://www.faqts.com/knowledge_base/view.phtml/aid/5756 + // and http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/insertAdjacentHTML.asp + Range range = node.ownerDocument().createRange(); + + range.setStartBefore(node); + + DocumentFragment docFrag = range.createContextualFragment(args[1].toString(exec).string()); + + DOMString where = args[0].toString(exec).string(); + + if (where == "beforeBegin" || where == "BeforeBegin") + node.parentNode().insertBefore(docFrag, node); + else if (where == "afterBegin" || where == "AfterBegin") + node.insertBefore(docFrag, node.firstChild()); + else if (where == "beforeEnd" || where == "BeforeEnd") + return getDOMNode(exec, node.appendChild(docFrag)); + else if (where == "afterEnd" || where == "AfterEnd") + if (!node.nextSibling().isNull()) + node.parentNode().insertBefore(docFrag, node.nextSibling()); + else + node.parentNode().appendChild(docFrag); + + return Undefined(); + } case DOMNode::Item: return getDOMNode(exec, node.childNodes().item(static_cast<unsigned long>(args[0].toNumber(exec)))); --- kdelibs/khtml/ecma/kjs_dom.h #1.71:1.72 @@ -60,5 +60,5 @@ namespace KJS { ReplaceChild, RemoveChild, AppendChild, HasAttributes, HasChildNodes, CloneNode, Normalize, IsSupported, AddEventListener, RemoveEventListener, - DispatchEvent, Contains, + DispatchEvent, Contains, InsertAdjacentHTML, OnAbort, OnBlur, OnChange, OnClick, OnDblClick, OnDragDrop, OnError, OnFocus, OnKeyDown, OnKeyPress, OnKeyUp, OnLoad, OnMouseDown,
Thanks. For the original report, getting www.sebank.se to work, the relevant bug reports are: #76948 and #90269
You need to log in before you can comment on or make changes to this bug.