Я новичок в этом, и я следовал Официальный учебник .
Я создал папку на рабочем столе с именем 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 = & email = & loc = & comments =
Почему это происходит? Сценарий находится в том же каталоге, почему Chrome не находит его?
guestbook.pl
#!/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