В моем файле main.js у меня есть PageMod, который включает файл base.js:
pageMod.PageMod({
contentScriptFile: ["./base.js"]
У меня есть функция внутри моего файла base.js
function setupPayment(){ /* DO STUFF HERE */ }
Внутри моего файла base.js я также загружаю другие файлы JS.
$.getScript("https://checkout.stripe.com/checkout.js", function(){
$.getScript( self.options.stripe );
});
Внутри моего файла stripe.js я пытаюсь вызвать функцию setupPayment, которая находится в моем файле base.js.
var yearhandler = StripeCheckout.configure({
key: "pk_live_...",
image: "image.png",
name: "SHINE",
description: "Subscription",
panelLabel: "Subscribe",
allowRememberMe: false,
token: function(token) {
plan = "yearly";
setupPayment(token,plan);
}
});
Но setupPayment возвращает значение undefined.
И после некоторого тестирования похоже, что любой скрипт, включенный через $.getScript, не может получить доступ к каким-либо функциям внутри моего скрипта содержимого base.js? Есть ли способ сделать функцию внутри моего сценария содержимого base.js глобальной для всех моих других файлов сценариев, которые я загружаю?
Спасибо за вашу помощь!
Изменить: причина, по которой setupPayment() должна находиться в файле base.js, заключается в том, что он может взаимодействовать с файлом main.js и хранить некоторую информацию.