Chrome Расширение - запускать контентный скрипт каждый раз при загрузке новой страницы - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь создать расширение chrome, которое вставляет некоторый контент на страницы продуктов на определенном сайте. В настоящее время мой контент. js запускается только в том случае, если я вручную обновляю sh вкладку на соответствующей странице. Мне нужно, чтобы он запускался автоматически каждый раз, когда пользователь переходит на соответствующую страницу.

manifest. json

{
    "manifest_version": 2,
    "name": "My Test",
    "version": "1.0",
    "description": "My Test POC",
    "icons": {
        "128": "/images/128x128_elevated_b_icon_purp.png",
        "48": "/images/48x48_elevated_b_icon_purp.png",
        "16": "/images/16x16_elevated_b_icon_purp.png"
    },
    "page_action": {
        "default_icon": "/images/16x16_elevated_b_icon_purp.png",
        "default_title": "My Test"
    },
    "background": {
        "scripts": ["/scripts/eventPage.js"],
        "persistent": true
    },
    "content_scripts": [
        {
            "matches": ["https://www.tesco.com/groceries/en-GB/products/*"],
            "run_at": "document_idle",
            "js": ["/scripts/libs/jquery.min.js", "/scripts/content.js"],
            "css": ["content.css"]
        }
    ],
    "permissions": [
        "tabs",
        "https://www.tesco.com/groceries/en-GB/products/*"
    ]
}

eventPage. js

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
    if(request.todo == "showPageAction") {
        chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
            chrome.pageAction.show(sender.tab.id);

            alert('eventPage.js');
        });
    }
});

content . js

chrome.runtime.sendMessage({todo: "showPageAction"});

alert('content.js');

$(document).ready(function() {
    var productName = $('head title').text().replace(' - Tesco Groceries', '');

    console.log('Product Name: ' + productName);

    //Do stuff


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