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)
}
})
}