Hämta Facebook-omslagsfoto för att visa som bakgrund på div

Permalänk

Hämta Facebook-omslagsfoto för att visa som bakgrund på div

Hej alla där hemma! Jag håller på att hämta en omslagsbild från en sida för att använda som en divs bakgrund. Hittills har jag surfat runt och hittat denna sida: http://blog-en.openalfa.com/how-to-read-json-files-in-javascr.... Den hoppas jag kunna använda men den fungerar inte. Min kod i head är:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> $.ajax({ dataType: 'jsonp', url: 'https://graph.facebook.com/shadeevents?fields=cover', success: function(data) { for (var key in data) { if (data.hasOwnProperty(key)) { alert(key + " -> " + data[key]); } } }, error: function() { alert("Error reading jsonP file"); } }); </script>

Och koden som öppnar body är:

<body onload="data();">

Jag vet att jag inte får fram url:en genom att göra så här men kan någon hjälpa mig vidare?

Visa signatur

Varför använda en dålig attityd? Det är en så onödig sak!
Min hemsida hittar du på tommielag.se

Permalänk
Inaktiv
Skrivet av tommielag:

Hej alla där hemma! Jag håller på att hämta en omslagsbild från en sida för att använda som en divs bakgrund. Hittills har jag surfat runt och hittat denna sida: http://blog-en.openalfa.com/how-to-read-json-files-in-javascr.... Den hoppas jag kunna använda men den fungerar inte. Min kod i head är:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> $.ajax({ dataType: 'jsonp', url: 'https://graph.facebook.com/shadeevents?fields=cover', success: function(data) { for (var key in data) { if (data.hasOwnProperty(key)) { alert(key + " -> " + data[key]); } } }, error: function() { alert("Error reading jsonP file"); } }); </script>

Och koden som öppnar body är:

<body onload="data();">

Jag vet att jag inte får fram url:en genom att göra så här men kan någon hjälpa mig vidare?

Är "data();" verkligen en funktion? Vart definierar du den? Jag tror du vill använda något i stil med $("#dindiv").css("background-image:" + data["source"]) eller iliknande.. (längesen jag grejade med js och jquery, min syntax kan vara fel, men något i den stilen)

Permalänk
Skrivet av anon214934:

Är "data();" verkligen en funktion? Vart definierar du den? Jag tror du vill använda något i stil med $("#dindiv").css("background-image:" + data["source"]) eller iliknande.. (längesen jag grejade med js och jquery, min syntax kan vara fel, men något i den stilen)

Låter logiskt, såhär då alltså?

$.ajax({ dataType: 'jsonp', url: 'https://graph.facebook.com/shadeevents?fields=cover', success: function(data) { $("#header").css("background-image:" + data["source"]) }, error: function() { alert("Error reading jsonP file"); } });

Visa signatur

Varför använda en dålig attityd? Det är en så onödig sak!
Min hemsida hittar du på tommielag.se

Permalänk
Inaktiv
Skrivet av tommielag:

Låter logiskt, såhär då alltså?

$.ajax({ dataType: 'jsonp', url: 'https://graph.facebook.com/shadeevents?fields=cover', success: function(data) { $("#header").css("background-image:" + data["source"]) }, error: function() { alert("Error reading jsonP file"); } });

Prova.

Ser rätt ut, dock är jag lite utdaterat på webbutv.-sidan, aldrig sett $.ajax användas sådär tillexempel. ser snuskigt enkelt ut

Permalänk
Skrivet av anon214934:

Prova.

Ser rätt ut, dock är jag lite utdaterat på webbutv.-sidan, aldrig sett $.ajax användas sådär tillexempel. ser snuskigt enkelt ut

Funkade inte

Visa signatur

Varför använda en dålig attityd? Det är en så onödig sak!
Min hemsida hittar du på tommielag.se

Permalänk
Inaktiv
Skrivet av tommielag:

Funkade inte

Okej. jQuerys .css funktion ska användas såhär: $("poop").css("background-image", "wat.png");

Våga felsök och prova grejjer själv innan du ställer frågor

Dom flesta webbläsare kommer med verktyg för utvecklare nuförtiden, kolla efter en javascript konsoll så får du felmeddelanden där om något i JS failar. Grejjar du med jquery så kolla igenom deras api osv.

Permalänk
Skrivet av anon214934:

Okej. jQuerys .css funktion ska användas såhär: $("poop").css("background-image", "wat.png");

Våga felsök och prova grejjer själv innan du ställer frågor

Dom flesta webbläsare kommer med verktyg för utvecklare nuförtiden, kolla efter en javascript konsoll så får du felmeddelanden där om något i JS failar. Grejjar du med jquery så kolla igenom deras api osv.

Ska testa. Webbläsaren gav errors, men inte något som hade med detta att göra.

Visa signatur

Varför använda en dålig attityd? Det är en så onödig sak!
Min hemsida hittar du på tommielag.se

Permalänk
Medlem

success: function(data) { $('#header').css('background-image', 'url("' + data.cover.source + '")'); }

Det tycker jag borde fungera. Förutsätter så klart att "cover" finns i "data" och att "source" finns i "cover".

Förresten skulle jag rekommendera att du kör din jQuery-kod efter "document ready", vilket simplifierat, kort och gott, innebär att koden körs så fort DOM:en laddats klart. Alltså:

$(document).ready(function() { // Kod });

Att bruka ett onload-event på body fungerar förmodligen också, men det känns lite omodernt, tycker jag. (Sedan är jag väl lite partisk också då jag är mycket för att separera Javascript och CSS från min HTML, då jag personligen anser att HTML enbart bör vara HTML. :>)
I vilket fall som helst har jag ingen aning om vad funktionen "data" är, och om det är så som jag misstänker finns den inte, varför antagligen ingenting sker.

Visa signatur
Permalänk
Skrivet av Zetsu:

success: function(data) { $('#header').css('background-image', 'url("' + data.cover.source + '")'); }

Det tycker jag borde fungera. Förutsätter så klart att "cover" finns i "data" och att "source" finns i "cover".

Förresten skulle jag rekommendera att du kör din jQuery-kod efter "document ready", vilket simplifierat, kort och gott, innebär att koden körs så fort DOM:en laddats klart. Alltså:

$(document).ready(function() { // Kod });

Att bruka ett onload-event på body fungerar förmodligen också, men det känns lite omodernt, tycker jag. (Sedan är jag väl lite partisk också då jag är mycket för att separera Javascript och CSS från min HTML, då jag personligen anser att HTML enbart bör vara HTML. :>)
I vilket fall som helst har jag ingen aning om vad funktionen "data" är, och om det är så som jag misstänker finns den inte, varför antagligen ingenting sker.

TACKTACKTACKTACKTACK! YOUR THA BEST! IT WORKED

Visa signatur

Varför använda en dålig attityd? Det är en så onödig sak!
Min hemsida hittar du på tommielag.se

Permalänk
Medlem
Skrivet av tommielag:

TACKTACKTACKTACKTACK! YOUR THA BEST! IT WORKED

Trevligt att vara till hjälp!

Visa signatur