Toon posts:

[js] functies in ander frame

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een site bij avidgamers.com en om m'n pagina wat sneller te laten lopen, had ik het idee om de meeste javascripts in een aparte frame te zetten, zodat die scripts niet elke keer opniew geladen hoeven te worden (= sneller).

Dat had ik dus gedaan en geprobeerd, totdat het prima werkte. Tot ik echter de site in Internet Explorer probeerde. (Mijn standaard browser is nl. Opera)

Hier staat het stukje code die alles zou moeten bevatten waar het om gaat:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var currentUser;
try {
currentUser = parent.data.memberNames.length;
}
catch (error) {
//currentUser = parent.data.memberNames.arguments.length;
currentUser = 1;
parent.data.document.write(error);
}

var amountOfUserInfo = parent.data.amountOfUserInfo;

parent.data.memberNames[ currentUser ] = '[username]';

-----

[username] = een variabele voor de sites van avidgamers.
Deze wordt op de server vervangen door de variabele die je nodig hebt.


als error komt er in de frame data "[object Error]" te staan
voor regel 13 (de laatste regel) geeft IE als error: "fout: object wordt verwacht".

IE heeft geen problemen met het schrijven naar een ander frame en met het opvragen van 'losse' variabelen.
Bij arrays en functies heeft ie (IE dus :+) echter wat meer moeite.

Weet iemand mischien hoe ik die *&^%$#@! IE zo ver krijg dat ie (uhm, bij de tweede keer is het niet leuk meer he? :+) de functies uitvoert en de array aanspreekt?

bvd

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

1) weet je zeker dat je data-frame al compleet geladen is als het script in dit frame wordt uitgevoerd?
Ik heb het idee dat de hele array memberNames (nog) niet bestaat; je vangt wel leuk die error af en overschrijft dan de complete HTML in je data-frame, maar dat betekent automatisch dat daarna een waarde toekennen aan een array in je data-frame al helemaal geen zin meer heeft.

2) waarom zou het laden van je JS in een apart frame sneller zijn? Losse js bestanden worden gewoon gecached door een browser. Het is in mijn ogen geen logische oplossing, en je maakt het jezelf alleen maar moeilijker...

Intentionally left blank


Verwijderd

Topicstarter
avidgamers.com laat je alleen maar html pagina's maken; het zet er automatisch ".html" achter. Daarnaast wil ik ook somige gegevens overal benaderen, wat ze daar ook niet mogelijk maken.

Als iemand echter een site weet waar je gratis en zonder banners je site kan hosten die automatisch een forum, gebruikers en rechtenbeheer aanje geeft, zal ik er over denken om over te stappen. :)