Toon posts:

[JS] Rare error door lange string ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hij geeft een error tussen de u en de i. In het javascript console van mozilla. In internet explorer werkt het ook niet. De fout is volgens de error melding qoutes, die fout worden gebruikt. Maar er zijn helemaal geen quotes aanwezig.

code:
1
2
3
Error: unterminated string literal
Source Code:
nd. Onderhoud buiten: Uitstekend .Parkeermogelijkheid: Op eigen terrein



Zo word hij aangeroepen
code:
1
onMouseOver=\"return overlib('$wng_opmerkingen')\";


En de 1 werkt wel en de ander werkt niet, kan het zijndat de string die erin zit, dat die te lang is ?

vr. gr

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 07:39
En zijn er enters aanwezig?

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 16-05 22:08

glashio

C64 > AMIGA > PC

Ik meen dat dit de PHP-code is ;)

Probeer eens :
PHP:
1
"onMouseOver=\"return overlib('".addslashes($wng_opmerkingen)."')\"";

Je PHP-variable wordt nu geparsed met escape chars voor de JS-variable

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 19-05 17:13

RM-rf

1 2 3 4 5 7 6 8 9

zoals Eskimootje al zegt, het zal komen door een linebreak in de string-variabele.

verder:
code:
1
onMouseOver=\"return overlib('$wng_opmerkingen')\";

$php_blaat-variabelen hebben hier geen enkel belang, clientside scripting heeft te maken met de code die naar de browser verstuurd wordt, de foutmelding komt ook van de browser; en die je met view-source: kunt bekijken, kijk daar dan ook naar bij het debuggen en laat je niet tezeer afleiden van de serverside-scripting-code ...

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Topicstarter
Ik heb nu de tekst die in die "popup" te voorschijn komt dat die korter word.

Nu werkt het wel, kan het ook daaraan liggen dat het maximaal 500 chars bijv.
Mag bevatten ?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 19-05 15:03

Pelle

🚴‍♂️

Er zal vast wel een maximale stringlengte zijn, maar die ligt ver boven de 500 chars :)
Post eens de output van je script, zoals RM-rf al zegt.

Verwijderd

Topicstarter
Ik kan er echt niet uitkomen, dus ik zal de uitgespuugde html code maar laten zien, misschien dat julie er een onregelmatig iets in kunnen zien.


code:
1
2
3
4
5
6
7
8
9
10
<a href="id=398"  
onmouseover="return overlib('Prijs: € 225000,- k.k.Adres: <knip>, 
Soesterberg Makelaar: <knip> Multifunctioneel bedrijfspand, 
voormalige drukkerij, van totaal ca. 630 m2 groot gelegen op het bedrijventerrein van 
Soesterberg. Parkeren:  Vrij parkeren op openbare weg  Indeling: 
Entree en grote werkplaats van ca. 301 m2 groot, begane grond is totaal ca. 315 m2 groot. 
Op de verdieping bevind zich een archief ca. 65 m2, een werkvoorbereidingruimte ca. 75 m2, 
een doka ca. 17 m2, een pantry  ca. 16 m2, een kantine ca. 35 m2 en een tweetal kantoren ca. 48 m2.
De verdieping is ca. 315 m2 groot. Opleveringsniveau: In huidige staat. 
 Aanvaarding: In overleg Voorbe');" onmouseout="return nd();"



Hij loopt vast op ca. 35 m2 en een tweetal.....

Hij loopt bij en een vast.

En heb echt geen idee waarom.

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 07:39
De string is niet te lang, ik kan hem gewoon alerten in IE, er zit toch echt een andere fout in, kun je geen links geven ipv klein stukje source?

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Een string kan ook praktisch nooit te lang zijn, volgens mij is je geheugen je limiet ;)

Moet je misschien de .tjes niet escapen?

Verwijderd

Topicstarter
Mm, die escapen of kan ik die dan beter vervangen door een html character ?

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 07:39
punten hoef je niet te escapen.

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Ik heb het nu met de meest rare code en gigantische stukken tekst geprobeerd en hij loopt nog niet vast. Ik denk dat het in de overlib engine zit.

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 16-05 22:08

glashio

C64 > AMIGA > PC

PHP:
1
2
$js_var=str_replace(array("\r","\n"),array('','\n'),addslashes($wng_opmerkingen));
"onMouseOver=\"return overlib('$js_var')\"";

Je PHP-variable wordt nu geparsed met escape chars voor de JS-variable inclusief Enters (newline's)

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing

Pagina: 1