[JS] .split() is not a function

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Maxman1850
  • Registratie: Augustus 2009
  • Niet online
Hallo allemaal.

Ik ben bezig met een AJAX-pagina-systeem, en loop nu vast.
Wanneer iemand de hash van de pagina verandert, wil ik dat die pagina geladen word in een DIV.
Nu heb ik de volgende code:
code:
1
2
3
4
5
6
7
<body onload="ReadyURL();">
...
function ReadyURL() {
    url_b = window.location;
    url_e = url_b.split('#');
    $("#content").load(url_e[1]);
}

Maar in firebug krijg ik de volgende error:
url_b.split is not a function
http://renatebv.tjvb.nl/Isodiscount/
Line 17
Kan iemand mij misschien helpen met wat mijn fout is?
Ik kom er maar niet uit, met andere manieren om .split() te gebruiken lukt het namelijk wel.

Alvast bedankt!

Max

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
.split() is een methode van het string object. Jij zet een (reference naar) window.location in url_b; geen string object. Kijk even hier naar wat je dan in url_b zou willen gooien ;)

[ Voor 53% gewijzigd door RobIII op 30-01-2010 21:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Maxman1850
  • Registratie: Augustus 2009
  • Niet online
Oke, en is er dan misschien een manier om de inhoud van window.location naar een string te zetten? Of moet ik op een andere manier de string zien te splitsen?

Edit: ik ga even die link bekijken, bedankt voor je snelle reactie!

[ Voor 18% gewijzigd door Maxman1850 op 30-01-2010 21:33 ]


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Hint: window.location is geen string.

[/traag]

[ Voor 14% gewijzigd door CodeCaster op 30-01-2010 21:32 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Maxman1850
  • Registratie: Augustus 2009
  • Niet online
Het is gelukt!
Bedankt voor jullie reacties!

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:12

crisp

Devver

Pixelated

ik zou voor dit soort dingen eigenlijk ueberhaupt geen split() gebruiken maar zoiets:
JavaScript:
1
2
3
4
5
6
7
8
var s = 'http://tweakers.net/blaat#foo';

var i = s.indexOf('#'), hash;
if (i >= 0)
{
    hash = s.substr(i+1);
    alert(hash);
}


maar feitelijk is dat hier dus ook niet nodig omdat location ook gewoon een hash property heeft ;)

Je weet overigens ook dat onload enkel de eerste keer bij het laden van de pagina getriggered wordt en daarna niet meer als enkel de fragment nog wijzigt? Je zal dus ook moeten kijken naar het onhashchange event dat al door verschillende browsers ondersteund wordt, en voor andere browsers regelmatig een check moeten doen of de hash gewijzigd is.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Maxman1850
  • Registratie: Augustus 2009
  • Niet online
Ik kwam er dus net inderdaad ook achter dat window.location een hash property heeft.
Dat de onload maar 1 keer gebeurt moet ook zo zijn, ik heb al iets anders voor wanneer er een enkel element verandert.
Pagina: 1