我是新手,我跟着official tutorial。
我在桌面上创建了一个名为Chrome
的文件夹,并将所有文件manifest.json
,popup.html
,icon.png
与文件guestbook.pl
放在一起。现在manifest.json
的内容与上面链接中的内容相同,但我根据我的需要更改了popup.html
的代码:
<html>
<head>
<title>Guestbook</title>
</head>
<body>
<form action="/home/chankey/Desktop/Chrome/guestbook.pl" method="get">
<table>
<tr><td>Name</td><td><input name="name" type="text" value=""></td></tr>
<tr><td>E-Mail</td><td><input name="email" type="text" value=""></td></tr>
<tr><td>Location</td><td><input name="loc" type="text" value=""></td></tr>
<tr><td>Comments</td><td>
<TEXTAREA name="comments" rows="10" cols="32"></TEXTAREA></td></tr>
</table><br><br>
<input type="submit" value="Add Entry">
</form>
</body>
</html>
然后我在Google Chrome上添加了扩展程序。扩展成功添加,当我点击它时,会出现一个表单(来自popup.html
)但是当我点击“添加条目”按钮提交数据时,脚本(guestbook.pl
)不会运行。出现一个新页面,上面写着
此网页尚未找到,未找到网址的网页:chrome-extension://plkeijfkmjeakkbdclipkoadchbpgpdm/home/chankey/Desktop/Chrome/guestbook.pl?name =&amp; email =&amp; loc =&安培;注释=
为什么会这样?该脚本位于同一目录中,为什么Chrome不能找到它?
#!/usr/bin/perl
my $query_string = "";
#Get the input
if ($ENV{REQUEST_METHOD} eq 'POST') {
read(STDIN, $query_string, $ENV{CONTENT_LENGTH});
} else {
$query_string = $ENV{QUERY_STRING};
}
##### We will remove this
print "Content-Type: text/html\n\n";
print "Query String is \n<br> $query_string";
print "hi";
##### We will remove this
答案 0 :(得分:4)
您无法在Chrome中运行Perl。 Chrome扩展程序是小型网页,只能使用客户端网络技术。因此,您使用的语言是JavaScript。
要创建留言簿样式扩展,您必须在Web服务器上运行guestbook.pl脚本,然后在扩展中使用来自JavaScript的AJAX调用来保存和获取数据。