我使用以下代码在Rich Snippet Testing Tool中打开当前页面网址。 问题是,首次单击时扩展程序正常工作并打开URL。但是,如果测试页面URL当前处于打开状态,则不允许打开另一个页面。
我的要求是借助此扩展程序在测试工具中一次打开多个页面。 但我一次只能打开一个。
我的清单文件:
{
"name": "RS Analyzer",
"description": "Extension to get current page URL and display its Rich Snippets.",
"version": "1.4",
"background_page": "background.html",
"permissions": [
"tabs", "http://*/*", "https://*/*"
],
"icons":{"16": "images/R_icon_16x16.jpeg",
"48": "images/R_icon_48x48.jpeg",
"128": "images/R_icon_128x128.jpeg"},
"browser_action": {
"default_title": "RS Analyzer",
"default_icon": "images/icon.jpg"
}
}
我的背景页面:
chrome.browserAction.onClicked.addListener(function(tab){
chrome.tabs.getSelected(null,function(tab) {
var tablink = tab.url;
var richurl = "http://www.google.com/webmasters/tools/richsnippets?url=" + encodeURIComponent(tablink) + "&view=";
window.open(richurl,'_newtab');
});
});
答案 0 :(得分:1)
这是因为你给了窗口(标签)一个名字。这意味着每次都使用相同的选项卡。它就像标签的标识符。
您可以通过删除名称来解决此问题:
window.open(richurl);
答案 1 :(得分:1)
Chrome无法理解“_newtab”,它只将其视为标签的ID,因此它会打开下一个标签。使用“_blank”通常会打开新选项卡,但这取决于用户的设置(它也可能会打开新窗口)。
如果您需要新标签,则应该查看Chrome扩展程序标签api。他们有一个create method。它需要您设置扩展程序的权限。