2013-06-06 41 views
0

我想为Google Chrome创建一个扩展程序,它会很简单。如何在Chrome扩展中使用URL中的popup.html?

我将在我的网站的服务器上有一个数据库,它会检查一个URL是否在“黑名单”表中,并警告用户,如果是。

但我不知道从哪里开始。我试图把我的Web服务器上的所有文件,并起了变化manifest.json文件中这样: (改“default_popup”行)

{ 
    "manifest_version": 2, 

    "name": "My Extension", 
    "description": "This extension warns you if you are trying to open a blacklisted URL", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "http://www.mysite.com/my_extension/popup.html" 
    }, 
    "permissions": [ 
    "https://secure.flickr.com/" 
    ] 
} 

注意:此文件驻留在我的电脑上,我打开它来自Chrome的“扩展”菜单。

,但是当我试图安装该扩展,我得到了错误:

This web page could not be found:chrome-extension://hgfdjnsakhkijfmdnadmlacgjggggkpf/http://www.mysite.com/my_extension/popup.html 

回答

1

而不是试图在清单文件中硬编码,可以尝试这样的事情在background page

chrome.browserAction.setPopup({popup: "http://www.mysite.com/my_extension/popup.html"}); 

但是,根本不可能指定外部弹出页面。

尽管如此,最好在扩展文件中包含弹出窗口,然后get只需要来自服务器的数据。

+0

听起来很正确,但是远程用户可以安装此扩展并在自己的浏览器中运行它吗?我的意思是,我不需要服务器来运行popup.html? – user223150

+0

@ user223150不,你不需要一个服务器来托管弹出窗口,是的,如果你已经包含了这个文件,它就可以正常工作,因为它将与其余的扩展一起打包。 – BeardFist

+0

谢谢!我希望你会对我在Chrome扩展中关于AJAX调用的新问题感兴趣:) http://stackoverflow.com/questions/16959217/ajax-in-chrome-extensions – user223150

相关问题