在不重新加载页面的情况下获取正确的div类文本

时间:2019-05-07 05:30:15

标签: javascript google-chrome-extension

我很快将一小段代码组合在一起,以从网页上的类(chrome扩展名)中获取和修改字符串。 该代码在第一个运行时可以正常工作,但是如果我将网页导航到更改类文本的新公司,该代码将停止正常工作(它从第一个运行时返回值)

如果我刷新页面或在新标签页中打开它,它将再次正常工作。

我是javascript的100%新手,我不知道如何解决此问题。

旁注:我是否可以在运行时向用户询问布尔值问题,并根据答案将partname或finalpart字符串返回剪贴板?

// 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

0 个答案:

没有答案