有没有办法使用chrome API添加弹出窗口例外?

时间:2011-11-25 07:31:46

标签: javascript google-chrome google-chrome-extension

我正在开发一个扩展程序,其中包含一个从上下文菜单链接启动Omniture DigitalPulse Debugger的功能。调试器可以从存储在扩展程序设置中的固定数量的域中启动。

不幸的是,当用户在没有弹出窗口异常的情况下单击域上的链接时,弹出窗口会被阻止,直到他们允许和/或手动添加异常。安装或更新扩展时是否可以自动添加例外?

目前,click处理程序使用“javascript:”URL启动调试器。可能有更好的方法,但这是我发现允许弹出窗口访问选项卡上下文的唯一方法。这是代码:

/**
 * loads DigitalPulse omniture debugger in a new window
 * @param {Object} info Click event info
 * @param {Object} tab Tab info
 */
omnitureDebugger: function (info, tab) {
    var script = 'window.open("", "dp_debugger", "width=600,height=600,location=0,menubar=0,status=1,toolbar=0,resizable=1,scrollbars=1").document.write("<script id=\'dbg\' src=\'http://www.digitalpulse.omniture.com/dp/debugger.js\'></"+"script>");'
    chrome.tabs.update(tab.id, { url: "javascript:" + script });
}

1 个答案:

答案 0 :(得分:1)

您可以使用use chrome.contentSettings.popups API添加例外。此API可在Chrome 16或更高版本(目前处于测试版渠道)中使用。