2012-05-23 7 views
0

Я хочу добавить букмарклет в контекстное меню.Как добавить букмарклет в контекстное меню?

Это мой букмарклет:

JavaScript: (функция() {вар а = window.open ('HTTP: //localhost/test/mm.php название =' + encodeURIComponent (документ. название), 'тест', 'влево = + ((window.screenX || window.screenLeft) + 50) +, сверху = + ((window.screenY || window.screenTop) + 50) +, высота = 300px, ширина = 700px, изменяемая = 1, alwaysRaised = 1, расположение = 1, ссылки = 0, скроллбары = 0, панель инструментов = 0'); window.setTimeout (функция() {a.focus()}, 300)})();

Это мой код:

function getClickHandler() { 
    return function(info, tab) { 

    }; 
}; 

chrome.contextMenus.create({ 
    "title" : "Hello", 
    "type" : "normal", 
    "onclick" : getClickHandler() 
}); 

Но теперь, я не знаю, где вставить букмарклет. Пожалуйста, помогите мне.

@ wong2:

Это мой новый getClickHandler, но он не работает:

function getClickHandler() { 
    return function(info, tab) { 
     chrome.tabs.executeScript(tab.id, { 
      code: "(function(){var a=window.open('http://localhost/test/mm.php?title='+encodeURIComponent(document.title),'test','left='+((window.screenX||window.screenLeft)+50)+',top='+((window.screenY||window.screenTop)+50)+',height=300px,width=700px,resizable=1,alwaysRaised=1,location=1,links=0,scrollbars=0,toolbar=0');window.setTimeout(function(){a.focus()},300)})();" 
     }); 
    }; 
}; 

manifest.json:

{ 
    "name" : "testtt", 
    "version" : "1.0.1", 
    "description" : "test button", 
    "background" : { "scripts": ["background.js"] }, 
    "permissions" : [ 
    "contextMenus", 
    "tabs", 
    "http://*/*", 
    "https://*/*" 
    ], 
    "minimum_chrome_version" : "6.0.0.0", 
    "icons" : { 
    "16" : "imageinfo-16.png", 
    "48" : "imageinfo-48.png", 
    "128" : "imageinfo-128.png" 
    }, 
    "manifest_version": 2 
} 

ответ

1

Вы можете попробовать chrome.tabs.executeScript, чтобы вставить код на странице:

function getClickHandler() { 
    return function(info, tab) { 
     chrome.tabs.executeScript(tab.id, { 
      code: YOUR_CODE_IN_STRING_HERE 
     }); 
    }; 
}; 
+0

потому что настоящий букмарклет очень сложный и не работает таким образом :( – xRobot

+0

вы можете его опубликовать? – wong2

+0

сделано, вы можете видеть выше :) – xRobot

Смежные вопросы