2016-04-29 259 views
3

我创建了一个Chrome扩展程序,它将在文本高亮显示中找到USPS跟踪号码。我目前的代码运行良好,但我想进行一些修改。Chrome扩展脚本

这里的manifest.json的

{ 
    "manifest_version": 2, 
    "background" : { "scripts": ["background.js"] }, 
    "description": "Track on USPS", 
    "icons": { 
    "default_icon": "usps.png" 
     }, 
    "minimum_chrome_version": "29.0", 
    "name": "USPS", 
    "permissions": [ "contextMenus", "tabs", "http://*/*", 
    "https://*/*" ], 
    "version": "1.0" 
} 

这是background.js:

/** 
* Returns a handler which will open a new tab when activated. 
*/ 
function searchgoogle(info) 
{ 
    var searchstring = info.selectionText; 
    chrome.tabs.create({url: "https://tools.usps.com/go/TrackConfirmAction?qtc_tLabels1=" + searchstring}) 
} 

chrome.contextMenus.create({title: "Search USPS", contexts:["selection"], onclick: searchgoogle}); 

/** 
* Create a context menu which will only show up for images. 
*/ 
chrome.contextMenus.create({ 
    "title" : "Search tracking number on USPS", 
    "type" : "normal", 
    "contexts" : ["text"], 
    "onclick" : getClickHandler() 
}); 

现在我想修改当前的脚本:

https://tools.usps.com/go/TrackConfirmAction?qtc_tLabels1=" + searchstring 

与下面的脚本。这个新代码将打开一个弹出窗口。我尝试修改新的脚本,但无济于事。谁能帮我吗?

这里的新脚本,我想用:

javascript:new function(){window.open('https://tools.usps.com/go/TrackConfirmAction?qtc_tLabels1=' + window.getSelection().toString(), '_blank', 'toolbar=0,location=0,menubar=0,top=91,height=900,width=650,left=1475');}; 

非常感谢提前!这个社区对我的项目帮助很大。

回答

1

它看起来并不像你实际调用你在脚本中创建的函数(而你不能,因为它没有被命名)。尝试删除功能,并执行代码:

javascript:window.open('https://tools.usps.com/go/TrackConfirmAction?qtc_tLabels1=' + window.getSelection().toString(), '_blank', 'toolbar=0,location=0,menubar=0,top=91,height=900,width=650,left=1475'); 
1

我终于想通了!

function searchgoogle(info) { 
var searchstring = info.selectionText; 
chrome.windows.create({url: "https://tools.usps.com/go/TrackConfirmAction?qtc_tLabels1=" + searchstring}) 
} 


chrome.contextMenus.create({ 
"title": "Search USPS", 
"contexts":["selection"], 
"onclick": searchgoogle 
});