Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Наши скрипты > Помогите с расширением


Автор: 3040 13.3.2017, 10:27
Здравствуйте. Я не силен в js, но из интереса решил попробовать создать свое расширение для браузера. Сейчас хочу, чтобы когда я заходил на определенный сайт мне выдавало бы alert "привет, вы зашли на сайт vk.com" или что-то такое. Но у меня не работает распознавание страницы. Сейчас я сделал так, что в браузере всегда висит иконка расширения. При нажатии на нее открывается popup.html в нем лежит кнопка. В теории когда я на нее нажимаю, она выдает алерт с адресом сайта. Но на практике получается всегда одно и тоже сообщение. Выводится алерт, но с адресом расширения. Т.е. chrome-extension:hashdashdashdahdsdfkij/popup.html.
Вопрос такой. Что я сделал не так и как заставить расширение выдавать мне адрес страницы с которого нажали на кнопку? Сам я вообще ничего не нашел. Уже 3 дня пытаюсь. 

manifest:
Код

{
    "manifest_version" : 2,
    "name" : "12345",
    "short_name" : "123",
    "options_page": "options.html",
                            
    "icons" : {                    
        "128" : "icons/1.png"
    },                            

    "permissions": [
      "tabs",
      "activeTab"
    ],

        "browser_action": {
        "default_title": "123",
        "default_icon": "icons/1.png",
    "default_popup": "popup.html"
    }
}


popup.htm
Код

<!doctype html>
<html>
    <head>
        <title>123</title>
        <script src="js/function.js"></script>
    </head>
    <body>
        <button id="checkPage">Кнопка</button>
    </body>
</html>


function.js
Код

document.addEventListener('DOMContentLoaded', function() {
    var checkPageButton = document.getElementById('checkPage');
    checkPageButton.addEventListener('click', function() { 
     var x = window.location;
     alert(x);
    });
});

Автор: diadiavova 13.3.2017, 12:28
3040, во-первых в разрешениях надо указать, для каких сайтов они действительны, если для всех, то можно написать *//:*/*. Во-вторых, если тебе надо из скрипта расширения выполнить что-то в контексте страницы, то используй https://developer.chrome.com/extensions/tabs#method-executeScript

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)