【问题标题】:Add Paypal sdk external js as an internal js file in Angular将 Paypal sdk 外部 js 添加为 Angular 中的内部 js 文件
【发布时间】:2020-12-13 22:32:54
【问题描述】:

我目前在 index.html 中包含 PayPal JS SDK 和 <script src="https://www.paypal.com/sdk/js?client-id=...

要在 .ts 文件中呈现按钮,我将使用以下代码:

declare var paypal: any;

export class BuyComponent implements OnInit {
  @ViewChild("paypal", { static: true }) paypalElement: ElementRef;
  paypal
      .Buttons({
        ...

我尝试将其另存为paypal.jsassets/js 文件夹中,然后在angular.json 中,我添加了

"scripts": [
      ...,
      "src/assets/js/paypal.js"
  ]

但这给了我ReferenceError: paypal is not defined的错误

如何将此外部 js 作为内部文件包含在我的 Angular 代码中?

【问题讨论】:

    标签: javascript angular paypal paypal-sandbox


    【解决方案1】:

    paypal sdk js 文件应始终由每个客户端(浏览器)在页面加载时从外部获取和加载

    不支持隐藏副本

    【讨论】:

    • 好的。那么,是不是每次加载的js文件都不一样呢?我正在考虑这个,这样我就不必一次又一次地从外部加载文件
    • 可能会发生变化。每个客户端浏览器最多会将其缓存 6 小时。
    • 好的。还有一件事,你能指点我一个文档或引用相同的东西吗?
    • 所有 developer.paypal.com 文档和来自 PayPal 的答案都说使用带有绝对路径的脚本标签。 “cache-control: public, max-age=21600”的HTTP响应头在脚本加载时设置;你可以在开发工具的网络选项卡中检查它,或者你喜欢的任何方式。
    • 好的。我也检查了文档here。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2017-07-02
    • 1970-01-01
    • 2020-07-10
    • 2016-12-15
    相关资源
    最近更新 更多