Корневая проблема ReferenceError
. MDN указывает , что блок try
/ catch
является подходящим инструментом для работы. В моем случае я получал неперехваченную ссылку на ссылку для оплаты SDK / библиотеки. Ниже работает для меня.
try {
var stripe = Stripe('pk_test_---------');
} catch (e) {
stripe = null;
}
if(stripe){
//we are good to go now
}
Очевидно, что исправление заключается в загрузке любого SDK / библиотеки, например jQuery, до вызова его методов, но try
/ catch
не позволяет вашему общему JavaScript избавиться от ошибок в случае, если вы запускаете этот общий скрипт на странице, которая не загружает библиотеку, которую вы используете на подмножестве страниц.