2012-07-15 74 views
1

我有一个扩展名为chrome的文件,其popuphtml有一个指向oauth/openid登录页面的链接。精确到一个页面,如this使用扩展名显示带地址栏的Chrome弹出窗口

我需要这个登录页面在只有一个地址栏的弹出浏览器窗口中打开。不应该有任何其他工具/菜单栏。我试过window.openchrome.windows.createwindow.showModalDialog方法。

它们都按照我想要的方式创建弹出选项卡,但无论如何都不显示地址栏。当popup.html通过浏览器直接浏览时,它会显示地址栏,当链接被点击时。 但不是当通过扩展名加载弹出窗口时。

由于此页面显示oauth/openid登录页面,因此绝对必须让用户看到弹出窗口中显示的当前页面的地址。没有人会将他们的脸书/谷歌证书提供给没有地址栏的页面。

任何帮助真的appriciated。

回答

4

我周围看了一下,似乎这是一个已知的bug ....
http://code.google.com/p/chromium/issues/detail?id=108875&q=popup%20bar&colspec=ID%20Pri%20Mstone%20ReleaseBlock%20OS%20Area%20Feature%20Status%20Owner%20Summary
您应星明为未来的更新,我认为你应该在你的情况可能是藏汉评论。

你可以从你的扩展代码中得到你需要的弹出窗口的唯一方法是打开一个选项卡,让它打开弹出窗口然后关闭选项卡.....远离理想状态。
但柜面那配不上你这里的一些示例代码....

manifest.json的

{ 
    "name": "Popup with adresse bar", 
    "version": "1.0", 
    "permissions": [ 
    "tabs", "<all_urls>" 
    ], 
    "browser_action": { 
     "default_title": "Popup with adresse bar.", 
     "default_icon": "icon.png", 
     "default_popup": "popup.html" 
    }, 
    "manifest_version" : 2 
} 

popup.html

<!doctype html> 
<html> 
    <head> 
    <script src="popup.js"></script> 
    </head> 
    <body> 
    <a id='clicky' href='#'>clicky</a> 
    </body> 
</html> 

弹出。JS

clicky = function() { 
    chrome.tabs.create({ 
     url: 'open.html#' + 'http://www.google.com', 
     active: false 
    }); 
} 
onload = function() { 
    document.querySelector('#clicky').onclick = clicky; 
} 
window.onload = onload; 

open.html

<script src='open.js'></script> 

open.js

window.close(); 
window.open(window.location.hash.substr(1), '…', '…'); 
+1

其实我做的这一个微小的变化。而不是选项卡,我打开了一个新窗口并将宽度&hegiht设置为1px,并将顶部设置为屏幕hegiht + 200px。这样新窗口不会显示给用户,只显示弹出窗口。谢谢你的头:) – Amila 2012-09-09 09:57:59

+0

好主意,我喜欢它! :P – PAEz 2012-09-09 10:19:56

2

好的,我将试试这个问题。我明白你在说隐藏的地址栏是什么。例如,我的rem-i-con扩展名。如果用户没有注册,则会打开一个新标签,然后要求他们创建一个帐户或登录。但地址栏是空白的。

但是,在我的popup.html文件中,我有几个链接可以打开窗口中显示的地址的新选项卡。我明白你想要一个模型类型的窗口,但我不确定这是可以做到的。这是你可以尝试的东西。

有一个常规链接asdd

点击时,你可以有监听器手表刚刚打开的选项卡。这可以通过扫描活动选项卡轻松完成。

然后,一旦该标签关闭,您可以重新加载您的popup.html文件。你将需要使用background.html文件。

如果这样工作,那么你可以自动化标签点击。


相关问题