gpt4 book ai didi

javascript - 如何在 Vue.js 方法中使用外部 JavaScript 对象

转载 作者:行者123 更新时间:2023-11-30 13:53:06 24 4
gpt4 key购买 nike

我正在尝试让 Stripe 与我的 Vue.js 2 应用程序一起工作。出于 PCI-DSS 的原因,Stripe 要求他们的 Javascript 是 always loaded from js.stripe.com .我已按照以下说明进行操作:

但我得到一个 'Stripe' is not defined当我尝试使用该库时出错。这些解决方案似乎只是为了获得 <script>。标记到输出 HTML 中(例如用于分析),而不是实际使用该脚本中的函数和对象。

这是我的组件 Javascript 的样子:

<script>
export default {
name: "PaymentPage",
mounted() {
let stripeScript = document.createElement('script');
stripeScript.setAttribute('src', 'https://js.stripe.com/v3/');
document.head.appendChild(stripeScript);

let s = Stripe('pk_test_Fooo');
console.log(s);
}
}
</script>

我还尝试将脚本标签添加到我的 public/index.html文件,但我得到相同的结果。这可能是我的首选路线,因为 Stripe 鼓励开发人员使用 import their script on all pages on the site .

<!DOCTYPE html>
<html lang="en">
<head>
// ...
<script src="https://js.stripe.com/v3/"></script>
</head>

我如何从外部 CDN 中提取脚本并在我的组件的 Javascript 中使用它?

我知道一些库将 Vue.js 与 Stripe 集成(例如 matfish2/vue-stripejofftiquez/vue-stripe-checkout ),但前者对我来说导入不正确(我正在点击 issue #24 )和后者是针对旧的 Stripe API 构建的,新版本仍处于测试阶段。

最佳答案

在检查 Stripe 是否存在之前,您没有给脚本加载时间。你需要的是这样的:

<script>
export default {
name: "PaymentPage",
mounted() {
let stripeScript = document.createElement('script');
stripeScript.setAttribute('src', 'https://js.stripe.com/v3/');
stripeScript.onload = () => {
let s = Stripe('pk_test_Fooo');
console.log(s);
};

document.head.appendChild(stripeScript);
}
}
</script>

关于javascript - 如何在 Vue.js 方法中使用外部 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57840349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com