使用Python开发chrome插件
本文由 伯乐在线 - xianhu 翻译,Daetalus 校稿。未经许可,禁止转载!
英文出处:pythonspot.com。欢迎加入翻译小组。
谷歌Chrome插件是使用HTML、JavaScript和CSS编写的。如果你之前从来没有写过Chrome插件,我建议你读一下这个。在这篇教程中,我们将教你如何使用Python代替JavaScript。
创建一个谷歌Chrome插件
首先,我们必须创建一个清单文件:manifest.json。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{ "manifest_version": 2, "name": "Python Chrome Plugin", "description": "This extension runs Python code.", "version": "1.0", "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html" }, "permissions": [ "activeTab", "https://ajax.googleapis.com/" ] } |
然后创建一个名为popup.html的文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<!doctype html> <!-- This page is shown when the extension button is clicked, because the "browser_action" field in manifest.json contains the "default_popup" key with value "popup.html". --> < html > < head > < title >Getting Started Extension's Popup</ title > < style > body { font-family: "Segoe UI", "Lucida Grande", Tahoma, sans-serif; font-size: 100%; } #status { /* avoid an excessively wide status text */ white-space: pre; text-overflow: ellipsis; overflow: hidden; max-width: 400px; } </ style > <!-- - JavaScript and HTML must be in separate files: see our Content Security - Policy documentation[1] for details and explanation. - - [1]: https://developer.chrome.com/extensions/contentSecurityPolicy --> < script src = "popup.js" ></ script > </ head > < body > < div id = "status" ></ div > < img id = "image-result" hidden> </ body > </ html > |
最后得到一个图标,并保存为icon.png。打开chrome://extensions,点击开发者模式。点击“加载未打包扩展程序”,选择文件夹,点击OK。
为Chrome扩展程序添加Python
现在你拥有了最基本的权利,我们可以在代码中添加Python。为了能在一个浏览器中运行Python,你有很多个选择,包括Brython和emcascripten。我们决定使用Brython。我们将从一个服务器运行Brython脚本。改变popup.html的内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < meta charset = "iso-8859-1" > < style > body { margin: 0 !important; padding: 0 !important; width: 800; } #frame { overflow: hidden; width:790; height:324; } </ style > </ head > < body onLoad = "" > < iframe src = http ://brython.info/console.html id = "frame" seamless = "seamless" scrolling = "no" ></ iframe > </ body > </ html > |
重启下你的插件,你就会在你的谷歌Chrome浏览器中得到一个Python(Brython)解释器。
运行你自己的脚本
为了能够运行你自己的脚本,简单地修改一下popup.html框架中的url即可:
1
|
< iframe src = "BRYTHON SCRIPT URL" id = "frame" seamless = "seamless" scrolling = "no" ></ iframe > |
这个脚本应该运行在你自己的服务器上。你可以从网上运行任意的Brython脚本。利用Brython,你可以简单地在脚本标签中输入Python代码。看一下这个Brython的例子,或者简单地浏览下这个网站。
总结:
Chrome插件是使用HTML、JavaScript和CSS创建的。我们想知道在谷歌Chrome插件中能否使用Python代码。我们最终得到了一个浏览器中的Python解释器和执行Python脚本的能力。记住,这只是个实现性的结果,只是一个玩具,在这一点上,我不建议你将所有的插件都移植或建立在Brython上。