Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2015, 14:35
Интересующийся
Отправить личное сообщение для telekomstoy Посмотреть профиль Найти все сообщения от telekomstoy
 
Регистрация: 02.01.2015
Сообщений: 13

Расширение для Хрома
Здравствуйте, уважаемые постояльцы!
Столкнулся с такой глупой бедой.
Понадобилось написать простейшее расширение для Хрома: иконку рядом с адресной строкой, при нажатии на которую браузер бы отправлял на нужный мне сайт. Основы яваскрипта вроде как и знаю, но такой синтаксис как-то для меня непривычен. Полазив по просторам гугла, накропал вот это:

manifest.json

{
    "manifest_version": 2,

    "name": "Название",
    "version": "1.0",

    "icons": {
        "16": "./16.png",
        "32": "./32.png",
        "48": "./48.png",
        "128": "./128.png"
    },  


    "background" : {
        "page": "background.html"
    },
    "browser_action": {
        "default_title": "Application",
        "icon" : "16x16.png"}}


background.html

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="bg.js"></script>
    </head>
    <body></body>
</html>


bg.js

window.onload = function(){

    

    // set handler to extention on icon click
    chrome.browserAction.onClicked.addListener(function(tab) {
        location.href="соответственно ссылочка на сайт";
    });

    
};


Сама кнопочка появилась, но вот переадрессацию она мне не устраивает. Подскажите, пожалуйста, в чём моя ошибка. Заранее благодарен за помощь))
Ответить с цитированием
  #2 (permalink)  
Старый 02.01.2015, 22:23
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Потому что по нажатию нужно выполнить не background, а content-скрипт.

manifest.json
{
    "manifest_version": 2,
    "name": "Go to URL",
    "version": "1.0",
    "permissions": ["activeTab"],
    "browser_action": {
        "default_title": "Go to URL",
        "default_icon": "icon.png"
    },
    "background": {
        "persistent": false,
        "scripts": ["background.js"]
    }
}


background.js
chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(null, {
        file: "content.js"
    });
});


content.js
window.location.href = 'http://…'
Ответить с цитированием
  #3 (permalink)  
Старый 03.01.2015, 00:05
Интересующийся
Отправить личное сообщение для telekomstoy Посмотреть профиль Найти все сообщения от telekomstoy
 
Регистрация: 02.01.2015
Сообщений: 13

Спасибо, работает) тёмный лес прям для меня. И документации мало, с инглишом не дружу особо. Ещё раз спасибо за помощь!)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расширение для chrome Tincr hardware Оффтопик 1 06.09.2013 10:13
Работа для знатока jQuery virtualbrest Работа 0 24.07.2013 16:05
Расширение для Firefox Bebarr Swallow Общие вопросы Javascript 5 27.04.2012 21:24
Удалению метаданных в JPEG lorents Библиотеки/Тулкиты/Фреймворки 2 22.04.2012 21:02
Покритикуйте расширение для Хрома antonM Ваши сайты и скрипты 8 21.03.2012 18:48