Получение правильного текста класса div без перезагрузки страницы - PullRequest
0 голосов
/ 07 мая 2019

Я быстро собрал небольшой кусочек кода для извлечения и изменения строки из класса на веб-странице (расширение Chrome).Код отлично работает в первый раз, но если я перейду на веб-страницу к новой компании, где меняется текст класса, код перестанет работать правильно (он возвращает значения из первого времени выполнения)

Если яобновите страницу или откройте ее в новой вкладке, она снова работает нормально.

Я на 100% новичок в javascript, не знаю, как это исправить.

Sidenote: Есть лиспособ задать пользователю логический вопрос во время выполнения и, в зависимости от ответа, вернуть в буфер обмена либо имя, либо заключительную строку?

// content.js
chrome.runtime.onMessage.addListener(
    function (request, sender, sendResponse) {
        if (request.message === "clicked_browser_action") {
            var wholeName = document.getElementsByClassName('ng-binding ng-scope')[0].innerHTML;
            var partName = wholeName.substring(0, 4)
            var finalPart = "m" + partName.substring(0, 1) + "a" + partName.substring(2, 1) + "x" + partName.substring(3, 2) + "X" + partName.substring(3, 4)

            copyStringToClipboard(finalPart);
        }
    }
);

function copyStringToClipboard(str) {
    // Create new element
    var el = document.createElement('textarea');
    // Set value (string to be copied)
    el.value = str;
    // Set non-editable to avoid focus and move outside of view
    el.setAttribute('readonly', '');
    el.style = { position: 'absolute', left: '-9999px' };
    document.body.appendChild(el);
    // Select text inside element
    el.select();
    // Copy text to clipboard
    document.execCommand('copy');
    // Remove temporary element
    document.body.removeChild(el);
}

Image of the Class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...