Эта ошибка возникает, когда я использую скрипт https://www.paypalobjects.com/js/external/api.js на угловом уровне 5. Ниже приведен код кнопки входа в систему PayPal для углового кода.
PaypalIdentityComponent.ts
import { Component, OnInit } from '@angular/core';
import {ActivatedRoute} from '@angular/router';
@Component({
selector: 'app-paypal-identity',
templateUrl: './paypal-identity.component.html',
styleUrls: ['./paypal-identity.component.css']
})
export class PaypalIdentityComponent implements OnInit {
loadAPI: Promise<any>;
constructor(private route: ActivatedRoute) {
this.loadAPI = new Promise((resolve) => {
this.loadScript();
resolve(true);
});
}
ngOnInit() {
setTimeout(() => {
const windowRef: any = window;
console.log('windowRef', windowRef.paypal);
windowRef.paypal.use(['login'], function(login) {
login.render({
appid:
'AQdSGiwwbkBYeHQrkEHGPgXU_xCj3qebgn0x1Vf0jC49cowAbTZE1xlxGukvn-jDty4SsN7ocNd6Lq6X',
authend: 'sandbox',
scopes: 'openid',
containerid: 'lippButton',
locale: 'en-us',
returnurl: 'http://localhost:4200/paypal-identity'
});
});
}, 500);
}
public async loadScript() {
var isFound = false;
var scripts = document.getElementsByTagName("script")
for (var i = 0; i < scripts.length; ++i) {
if (scripts[i].getAttribute('src') != null && scripts[i].getAttribute('src').includes("loader")) {
isFound = true;
}
}
if (!isFound) {
var dynamicScripts = ["https://www.paypalobjects.com/js/external/api.js"];
for (var i = 0; i < dynamicScripts .length; i++) {
let node = document.createElement('script');
node.src = dynamicScripts [i];
node.type = 'text/javascript';
node.async = false;
node.charset = 'utf-8';
document.getElementsByTagName('head')[0].appendChild(node);
}
}
}
}
Ошибка в консоли браузера
Эта ошибка для requirejs в угловых 5 в консоли браузера.Внешний API кнопки входа PayPal не работает на уровне компонента.
ERROR Error: Script error
http://requirejs.org/docs/errors.html#scripterror
at J (www.paypalobjects.com/js/external/api.js:2)
at HTMLScriptElement.onScriptError (www.paypalobjects.com/js/external/api.js:2)
at ZoneDelegate.invokeTask (webpack-internal:///../../../../zone.js/dist/zone.js:421)
at Object.onInvokeTask (webpack-internal:///../../../core/esm5/core.js:4967)
at ZoneDelegate.invokeTask (webpack-internal:///../../../../zone.js/dist/zone.js:420)
at Zone.runTask (webpack-internal:///../../../../zone.js/dist/zone.js:188)
at ZoneTask.invokeTask [as invoke] (webpack-internal:///../../../../zone.js/dist/zone.js:496)
at invokeTask (webpack-internal:///../../../../zone.js/dist/zone.js:1540)
at HTMLScriptElement.globalZoneAwareCallback (webpack-internal:///../../../../zone.js/dist/zone.js:1566)