Контекстное меню Google Chrome: как его использовать?Как или были просмотр консоли Javascript? - PullRequest
1 голос
/ 23 февраля 2012

Я пытаюсь изучить расширение Chrome.Моя проблема в том, что я не могу использовать контекстные меню, в контекстном меню ничего не отображается.И как я вижу консоль JavaScript?Я ничего не вижу даже там.

JS:

    var arr_context = ["all", "page", "frame", "selection", "link", "editable", "image","video", "audio"];
    for(i=0; i<arr_context.length; i++){
        var title = arr_context[i];
        var menu1 = chrome.contextMenus.create({"type":"normal", "title":"Menu "+title, "contexts":arr_context, "onclick":callBack });
    }
function callBack(info, tab){ console.log(info.menuItemId+"; URL: "+tab.url); }
/////////// NOTHING CONSOLE LOG ISSUE ///////////////////

МАНИФЕСТ:

{
    "name": "First Extension",
    "version": "1.0",
    "description": "The first extensione tha I made",
    "permission":["contextMenus"],
    "background_page": "background_page.html",
    "browser_action":{ 
                        "name": "My First Extension!",
                        "default_icon": "Chrome_icon32bn.png",
                        /*"default_popup": "popup.html",*/
                        "default_title": "My First Extension!"
    },
    "icons": {
                "16": "Chrome_icon19color.png",
                "48": "Chrome_icon32color.png",
                "128": "Chrome_icon.png"
    }
}

РАЗРЕШЕНО: Ошибка в "manifest.json" Я написал "разрешение" скорее"разрешения".

Но второй вопрос остался.Почему я не вижу проблем с console.log?

Ответы [ 5 ]

2 голосов
/ 24 февраля 2013

В ответ на вопрос, почему ваш console.log не отображается, у меня была похожая проблема (и я только сегодня начал разработку Chrome Extension, так что это не удивительно!) , для меня это было решено перейдя на страницу Расширения и щелкнув ссылку "_аген_баз_данных_страницы.html" , указанную под моим расширением.

Поскольку я не создал собственную фоновую HTML-страницу, она автоматически создается в Chrome.
Вы должны проверить эту страницу, чтобы увидеть журналы консоли.

0 голосов
/ 23 февраля 2012

Следующее работает для меня, используя ваш манифест, урезанный до просто всплывающей страницы, содержащей только этот скрипт:

chrome.contextMenus.create({
    "type":"normal", 
    "title":"Menu ", 
    "contexts":["all", "page", "frame", "selection", "link", "editable", "image","video", "audio"], 
    "onclick": function (info, tab) { 
        console.log(info);
        console.log(tab);
    } 
});

Я вижу оба объекта в консоли (окно инструментов dev для проверки всплывающего окна) после нажатияконтекстная ссылка «Меню».

0 голосов
/ 23 февраля 2012

В ответ на вопрос о консоли вам нужно щелкнуть правой кнопкой мыши действие браузера и выбрать «осмотреть всплывающее окно», чтобы увидеть вывод консоли для действия браузера.

0 голосов
/ 23 февраля 2012

Почти все API-интерфейсы Chrome Extensions терпят неудачу молча.Я думаю, что вам нужно прочитать документацию немного больше:

http://code.google.com/chrome/extensions/contextMenus.html#method-create

Я думаю, что вам нужно, по крайней мере, также предоставить тип, контексты, щелчок и, наконец, но не менее

обратный вызов (дополнительная функция)

Вызывается, когда элемент создан в браузере.Если при создании элемента возникли проблемы, подробности будут доступны в chrome.extension.lastError.

0 голосов
/ 23 февраля 2012

Хия,

в Windows нажмите SHITFT + CTRL + J или SHITFT + CTRL + I и выберите вкладку «Консоль» на всплывающей панели.

на Mac нажмите COMMAND + ALT + I или COMMAND + ALT + J и выберите вкладку «Консоль» на всплывающей панели.

Надеюсь, это поможет, Rob

...