0

Klarna only provides javascript mode. I used Promise in vue to introduce Can be used, but vue reports an error: Klarna-placement is not defined enter image description here

klarna.js

export function klarna() {
  return new Promise(function (resolve, reject) {
    const tag = document.getElementsByTagName('script')
    for (let i of tag) {
      if (i.src === 'https://na-library.klarnaservices.com/lib.js') {
        resolve(window.Klarna)
        return
      }
    }
    const klarna = document.createElement('script')
    klarna.async = true
    klarna.src = 'https://na-library.klarnaservices.com/lib.js'
    klarna.setAttribute('data-client-id', 'xxx')
    document.body.appendChild(klarna)
    klarna.onload = () => {
      resolve(window.Klarna)
    }
    klarna.onerror = () => {
      reject(window.Klarna)
    }
  })
}

enter image description here

0 Answers0