[JSON] Youtube request werkt niet in IE

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Dennisonline
  • Registratie: Oktober 2004
  • Laatst online: 06-11-2023
Beste allemaal,

Ben momenteel bezig met een script om de afbeeldingen van een paar Youtube videos te laten zien op een HTML pagina en deze vervolgens te linken naar het filmpje zelf. Dit doe ik dmv het JSON protocol.

Zie: http://code.google.com/in...velopers_guide_jsonc.html

Dit is de URL: https://gdata.youtube.com...2&max-results=4&alt=jsonc die ik gebruik.

Nu gebruik ik het volgende javascript die JSON parsed naar een div in mijn HTML pagina:

code:
1
2
3
4
5
6
7
8
9
10
function getYoutube() {
$.getJSON( 'https://gdata.youtube.com/feeds/api/users/HIEREENUSERNAME/favorites?&v=2&max-results=4&alt=jsonc',function(json){ 
$.each(json.data.items,function(i,yt){ 
$("#youtubevideos").append('<a href="'+yt.video.player.default+'" target="_blank"><img src="'+yt.video.thumbnail.hqDefault+'" width="240px" alt='+yt.video.title+'</img></a>');
                    });
                    
                    
                });
                
            }

Dit werkt helemaal perfect in Chrome en Firefox, maar niet in Internet Explorer 8 en 9. Hierboven wordt gebruik gemaakt van het JSONC formaat, ik heb ook al gewoon JSON geprobeerd (het oudere json, dit werkt echter ook in Chrome maar niet in IE)

Aan het script ligt het volgens mij niet, ik gebruik namelijk hetzelfde script voor Twitter en daar werkt het wel in Internet Explorer...

Heeft een van jullie een oplossing voor dit probleem? Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

zet eens een &callback=? achter je feed-url

Acties:
  • 0 Henk 'm!

  • Dennisonline
  • Registratie: Oktober 2004
  • Laatst online: 06-11-2023
Bosmonster schreef op dinsdag 24 januari 2012 @ 13:47:
zet eens een &callback=? achter je feed-url
Dat heb ik al geprobeerd, maar dan werkt het hele script niet meer.

Probeer maar eens: https://gdata.youtube.com/feeds/api/users/EredivisieLive/favorites?&callback=?&v=2&max-results=4&alt=json

[ Voor 17% gewijzigd door Dennisonline op 24-01-2012 13:58 ]


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Je maakt een grapje?

Achter het = teken moet de pointer komen naar de functie.

https://gdata.youtube.com...s=4&alt=json&callback=foo

[ Voor 41% gewijzigd door Snake op 24-01-2012 13:59 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Snake schreef op dinsdag 24 januari 2012 @ 13:59:
Je maakt een grapje?

Achter het = teken moet de pointer komen naar de functie.

https://gdata.youtube.com...s=4&alt=json&callback=foo
Nee, dat doet jQuery zelf. Die genereert een random functie, plaatst de naam in de url bij de callback en vuurt je eigen callback af die je in de getJSON aangeeft. Daarmee blijft de api consistent en hoef je in het geval van JSONP alleen maar callback=? aan de url toe te voegen :) (of wat de server ook verwacht ipv "callback").
Ik zei achteraan, nu klopt je url niet meer.. ?&..

[ Voor 58% gewijzigd door Bosmonster op 24-01-2012 14:04 ]


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Bosmonster schreef op dinsdag 24 januari 2012 @ 13:59:
[...]


Nee, dat doet jQuery zelf.


[...]


Ik zei achteraan, nu klopt je url niet meer.. ?&..
Ik bedoel dat hij expliciet de ? in de URL zet.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Snake schreef op dinsdag 24 januari 2012 @ 14:03:
[...]
Ik bedoel dat hij expliciet de ? in de URL zet.
Dat moet ook.

Lees anders de API-documentatie even ;)

[ Voor 3% gewijzigd door Bosmonster op 24-01-2012 14:05 ]


Acties:
  • 0 Henk 'm!

  • Dennisonline
  • Registratie: Oktober 2004
  • Laatst online: 06-11-2023
Bosmonster schreef op dinsdag 24 januari 2012 @ 13:59:
[...]


Nee, dat doet jQuery zelf. Die genereert een random functie, plaatst de naam in de url bij de callback en vuurt je eigen callback af die je in de getJSON aangeeft. Daarmee blijft de api consistent en hoef je in het geval van JSONP alleen maar callback=? aan de url toe te voegen :)


[...]


Ik zei achteraan, nu klopt je url niet meer.. ?&..
Achteraan doet die het ook niet... Probeer maar...
Snake schreef op dinsdag 24 januari 2012 @ 14:03:
[...]
Ik bedoel dat hij expliciet de ? in de URL zet.
Ook als ik er wat anders inzet doet deze het niet meer, kan ik hem wel uitlezen maar vervolgens doet deze het niet meer in Chrome of Firefox..

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Bosmonster schreef op dinsdag 24 januari 2012 @ 14:04:
[...]


Dat moet ook.

Lees anders de API-documentatie even ;)
Lees JIJ de API documentatie eens.

http://code.google.com/in...ml#Requesting_JSONC_Feeds
If you want to have the API response sent directly to a callback function, also include the callback parameter in your request as shown below:
code:
1
https://gdata.youtube.com/feeds/api/videos?q=surfing&v=2&alt=jsonc&callback=functionName

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Zucht... de jQuery api-documentatie. Google geeft alleen aan dat ze een callback verwachten. jQuery handelt dat voor je af met callback=? (die vervangt het vraagteken door een random functienaam..)
JSONP
If the URL includes the string "callback=?" (or similar, as defined by the server-side API), the request is treated as JSONP instead. See the discussion of the jsonp data type in $.ajax() for more details.
http://api.jquery.com/jQuery.getJSON/

[ Voor 54% gewijzigd door Bosmonster op 24-01-2012 14:07 ]


Acties:
  • 0 Henk 'm!

  • Dennisonline
  • Registratie: Oktober 2004
  • Laatst online: 06-11-2023
En welke function name moet ik dan gebruiken volgens jou?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Zet anders even een voorbeeldje online, want er is niks mis met je call verder. Denk dat er ergens anders iets mis gaat.

Bijvoorbeeld.. ben je wel ingelogd op IE om je favourites op te vragen? Voer je het ondocumentready uit? Wat krijg je terug of wat voor foutmelding krijg je?

Het is nu een beetje koffiedik kijken (en discussieren over hoe je documentatie leest..)

[ Voor 51% gewijzigd door Bosmonster op 24-01-2012 14:10 ]


Acties:
  • 0 Henk 'm!

  • Dennisonline
  • Registratie: Oktober 2004
  • Laatst online: 06-11-2023
Oke het gaat om deze site: *snip* er werd gevraagd om een testcase, geen complete site; zie ook spam , een campagne site die gevuld wordt met social media (de twitter is leeg maar dat komt omdat de search maar tot 7 - 10 dagen gaat, en er is in die tijd niks nieuws geplaatst)

[ Voor 31% gewijzigd door RobIII op 24-01-2012 15:18 ]


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Wat ik denk vind is dat json.data werkt. Dat moet een ander property path zijn bij YouTube.

Overigens is de HTML die je renderd compleet fout.

[ Voor 22% gewijzigd door Snake op 24-01-2012 15:17 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Ik verveelde me: http://jsfiddle.net/FBGDN/18/
code:
1
&callback=?
is inderdaad nodig in IE, niet in Chrome.

En ik heb ook je code beetje opgeruimd.

[ Voor 3% gewijzigd door Snake op 24-01-2012 15:33 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Dennisonline
  • Registratie: Oktober 2004
  • Laatst online: 06-11-2023
Snake schreef op dinsdag 24 januari 2012 @ 15:32:
Ik verveelde me: http://jsfiddle.net/FBGDN/18/
code:
1
&callback=?
is inderdaad nodig in IE, niet in Chrome.

En ik heb ook je code beetje opgeruimd.
Thks man! :)

Hier heb ik wat aan :) _/-\o_

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Dennisonline schreef op dinsdag 24 januari 2012 @ 15:47:
[...]

Thks man! :)

Hier heb ik wat aan :) _/-\o_
Onthou die jsfiddle, altijd handig hier op T.NET.

Going for adventure, lots of sun and a convertible! | GMT-8

Pagina: 1