RequireJS не может загрузить сценарий проверки PayPal, если в Firefox на Mac включена поддержка DuckDuckGo Privacy Essentials
Я разрабатываю довольно большое приложение JavaScript, которое использует PayPal для оформления заказа. Я использую RequireJS для управления зависимостями нагрузки и порядком. Отлично работает на Firefox или Chrome на Mac.
Однако, когда расширение браузера DuckDuckGo Privacy Essentials включено, сценарий проверки PayPal не загружается и не работает с приложением в Firefox. Chrome продолжает загружаться правильно. Скрипт извлечения отлично работает в Firefox, если я использую теги vanilla script вместо RequireJS. Итак, что-то в RequireJS на Firefox щекочет DuckDuckGo неправильно.
Я собрал минимальный тестовый пример до 4 файлов...
WWW /index.html
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8' />
<script type='text/javascript' data-main='js/lib/require_example' src='js/lib/require.js'></script>
</head>
<body></body>
</html>
WWW / JS / Библиотека / require.js
(download latest from requirejs.org)
WWW / JS / Библиотека / require_example.js
// Require.js configuration
require.config({
// Base URL for main application
baseUrl: 'js',
paths: {
PayPlatform: 'PayPlatform',
paypal: 'https://www.paypalobjects.com/api/checkout'
}
});
require(['PayPlatform'], function (PayPlatform) {
console.log('loaded');
});
WWW / JS / PayPlatform.js
define(function (require) {
var PayPal = require('paypal');
// Constructor
function PayPlatform () {
}
// Return Constructor
return PayPlatform.prototype.constructor;
});
Действия по воспроизведению:
- Посетите duckduckgo.com и загрузите расширение для браузера Privacy Essentials и включите расширение
- Поместите вышеупомянутые 4 файла (в их относительных путях) в любой каталог
- Используя Firefox, загрузите файл www /index.html через Файл -> Открыть файл.
Вы должны увидеть в консоли JavaScript сообщение об ошибке...
Error: Script error for "paypal", needed by: PayPlatform
http://requirejs.org/docs/errors.html#scripterror require.js:5:1067
Отключите Основы конфиденциальности, и все загружается нормально.
Существует ли параметр конфигурации в RequireJS для правильной загрузки сценария проверки PayPal?