Gå til innhold

Hvordan plukke opp verdiene i authors og tags med Javascript?


Anbefalte innlegg

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-469417


Oppgave: 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
Videoannonse
Annonse

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 av 0laf
  • Liker 1
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...