Heizann Skrevet 3. mai 2019 Del Skrevet 3. mai 2019 Hei!Jeg er ingen programmerer, men har fått et case jeg gjerne vil ha hjelp med:"To eksempler på viktige datapunkter er forfatter av en artikkel og innholdstagger. Disse blir tilgjengeliggjort i et datalayer objekt i kildekoden kalt dn.datalayer.Eksempel artikkel: https://www.dn.no/2-1-469417Oppgave: Hvordan ville du løst å plukke opp verdiene i authors og tags på denne artikkelen med Javascript funksjoner?Bonusspørsmål: Finnes det noen andre muligheter for å plukke opp dette i kildekoden?"Tusen takk for all hjelp! Lenke til kommentar
0laf Skrevet 3. mai 2019 Del Skrevet 3. mai 2019 (endret) Du burde nok vært litt mer spesifikk, men forutsatt at du kan kjøre JS-kode i samme scope som nettsiden, så er window.dn.datalayer definert noe lignende : window.dn.datalayer = Object.assign(window.dn.datalayer, { "pageName": "Dette tjente de største privatinvestorene på Oslo Børs i fjor", "article": { "authors": ["Jonas Christensen", "Anders Nybakken Kvale", "Petter Winther"], "category": { "default": "Nyheter", "others": ["Finans", "Nyheter"] }, "publishDate": "2018-11-07T06:45:13Z", "tags": ["Skattelistene", "Rikard Storvestre", "Norske Skog", "Oslo Børs", "Runar Vatne", "Finans"], "topic": "Finans", "id": "2-1-469417" }, "issue": { "extent": "Full", "release": "Free" } }); Det betyr at du kan benytte "dot notation" for å få tilgang til objektet, sånn dn.datalayer.article.authors gir et array med forfattere, mens dn.datalayer.article.tags gir tagger.I og med at den samme infoen finnes som meta-tagger i HTML'en, er det mulig å slå de opp i DOM i stedet document.head.querySelectorAll("[property=article\\:tag]"); returnerer en NodeList med alle meta-tagger av typen "article:tag", altså tagger, mens document.head.querySelectorAll("[property=article\\:author]"); gir forfattere Endret 3. mai 2019 av 0laf 1 Lenke til kommentar
Heizann Skrevet 3. mai 2019 Forfatter Del Skrevet 3. mai 2019 Utrolig takknemmelig for dette! tusen takk! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå