[Jquery] 's is not defined' fout

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben mbv jquery bezig om een pagina binnen een jquery dialoog te laten zien.

HTML:
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
37
38
39
40
41
42
43
44
45
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>Collapsible Panel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<link rel="stylesheet" href="jquery/css/ui.all.css" type="text/css" media="screen">
<link rel="stylesheet" href="jquery/css/jquery-ui-1.7.2.custom.css" type="text/css" media="screen">

<script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.dialog.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/effects.core.js"></script>
    
<script type="text/javascript">

$(document).ready(function()
    {
$("#colleft").load("http://www.telegraaf.nl").dialog({ 
autoOpen:false,
modal:true, 
open: function() {$(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar-close").remove(); 
},
buttons: { 
"Close": function() { $(this).dialog("close"); } 
  } 
}); 

});

function showDialog(){
    $("#colleft").dialog("open");
    return false;
}
</script>

</head>

<body>
<p><a href="" onclick="return showDialog()">Show the Dialog</a></p>

<div style="display: none;" id="colleft"></div>
</body>
</html>


In IE8 werkt het wel maar ik krijg een javascriptmelding "s not defined" Dit zou te maken hebben met Jquery scripts waarnaar ik niet goed verwijs. Bovenstaande verwijzingen zijn volgens mij echter goed.

Testen in Firefox levert niet het gewenste resultaat (telegraaf.nl wordt niet geladen) maar geeft ook geen foutmeldingen. Ik zoek me al een dag een stuk in de rondte maar zonder resultaat. Zie ik iets over het hoofd?

Of zich werkt het dus in IE maar die foutmeldingen zijn wel slordig en daar wil ik wel graag vanaf.

Je kan tegenwoordig ook [code=html][/] tags gebruiken ;)

[ Voor 1% gewijzigd door BtM909 op 23-09-2009 14:35 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Nu ben ik niet bekend met (het beleid) van jQuery, maar waarom haal je de scripts van jqueryui.com en zet je ze niet op je eigen webserver?
Ik heb verder niet echt de tijd om er naar te kijken of me er in te verdiepen maar ik vermoed op 't eerste oog een cross-domain probleem (én de scripts niet van je eigen domein halen én telegraaf.nl in je site laden). Heb je daar al naar gekeken en heb je überhaupt al gedebugged?

(en is de melding 's not defined' of '$ not defined' ? want volgens mij zit er in je closures ergens iet niet goed...zo vlug eroverheen gekeken althans)

[ Voor 15% gewijzigd door RobIII op 15-09-2009 17:15 ]

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!

Verwijderd

Topicstarter
RobIII schreef op dinsdag 15 september 2009 @ 17:13:
Nu ben ik niet bekend met (het beleid) van jQuery, maar waarom haal je de scripts van jqueryui.com en zet je ze niet op je eigen webserver?
Ik heb verder niet echt de tijd om er naar te kijken of me er in te verdiepen maar ik vermoed op 't eerste oog een cross-domain probleem (én de scripts niet van je eigen domein halen én telegraaf.nl in je site laden). Heb je daar al naar gekeken en heb je überhaupt al gedebugged?

(en is de melding 's not defined' of '$ not defined' ?)
Hij geeft letterlijk 's' is niet gedefineerd

Ik heb alle js scripts ook lokaal staan en dat geprobeerd. Geeft dezelfde melding.

Verwijderd

Zomaar een gok: kan die s niet afkomstig zijn van een script van telegraaf.nl? Krijg je dezelfde foutmelding met een andere pagina, of als je met een selector alleen een deel van de Telegraaf inlaadt?

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Code gekopieerd en hier gedraaid in FF 3.x.

Firebug geeft:

Access to restricted URI denied"  code: "1012
http://jquery-ui.googlecode.com/svn/tags/latest/jquery-1.3.2.js
Line 3517



Lijkt dus inderdaad een XSS probleem. Draai gewoon je scripts eens vanaf hetzelfde domein.

(Btw. Het is trouwens denk ik slimmer om gewoon een iframe in je jquery dialog aan te maken en daar de content van de telegraaf in te gooien. Met load() direct de HTML importeren van de site van een third party is vragen om problemen...)

Verwijderd

Topicstarter
Probleem zit hem inderdaad in het gebruik van een "externe" pagina. Als ik een pagina pak die ik zelf host (example.html) dan werkt het wel. Uiteindelijk is dat wat ik wil dus mijn probleem is opgelost (telegraaf gebruikte ik om te testen).

  • Tjoekbezoer
  • Registratie: Maart 2003
  • Laatst online: 18-11-2024
Mocht je overigens de jquery code toch extern willen inladen, dan is het mechanisme van Google daar erg voor geschikt. Google APIs geeft je de mogelijkheid om een bepaalde versie van jquery in te laden, of altijd de laatste versie.

Met het systeem wat google gebruikt heb je niet het XSS probleem wat je nu hebt met extern inladen. Je kunt het proberen, kan bandbreedte schelen!

http://code.google.com/apis/ajaxlibs/documentation/
Pagina: 1