@EatsFullLemons

Не пойму как хром расширение заставить запускать js скрипт на сайте?

Приветствую, я написал скрипт который на моей тестовой странице выискивает внутри div'a, определенные коды - например :smile: и заменяет эту фразу на соответствующую картинку. Осталось создать расширение и заставить его запускаться на vk.com/* - таким образом можно будет добавить смайлы в вк, пусть только для тех у кого есть расширение. Сам скрипт пока не подключен к классам - вк чата. Но для начала, хочу для проверки вывести alert('hello world') При заходе на любой домен vk.com, что бы проверить подключился ли скрипт. Но не могу разобраться в доках гугла https://developer.chrome.com/extensions/content_scripts

Вот мой манифест
{
    "manifest_version":2,
    
    "name":"...",
    "version":"0.0.0.1",
    "description":"....",
    "permissions":[
        "http://vk.com/*",
        "activeTab",
        "tabs",
        "http://*/"
    ],
    "browser_action": {
        "default_title": ....
    },
    "content_scripts": [{
        "matches": ["http://vk.com/*/"],
        "js": ["test.js"]
    }]
}

А тут собственно сам test.js
var xml = new XMLHttpRequest(); 
xml.open('GET', "http://*/", true);
xml.send(null);
xml.onreadystatechange = function () {
    if(xml.state == 4) {
        if (xml.responseText){
            alert('Hello world');
        }
    }   
}


В чем моя проблема?
  • Вопрос задан
  • 4438 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mayorovp
Во-первых, последний слэш в matches явно лишний.
Во-вторых, вконтакт активно использует частичную загрузку страницы с сервера - так что контент-скрипты будут срабатывать только при заходе во вконтакт с другого сайта или при обновлении страницы - но не будут и не должны срабатывать при переходах внутри вконтакта.
В третьих, ajax-запрос вы отправляете на очень странный адрес...
В четвертых, не забудьте про https://vk.com/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы