1

我开发了一个 chrome 扩展程序,可以读取 HTML 内容并将其解析为 CSV 文件。这部分效果很好,用户可以下载文件。

在这一点上,我想做的是找到一种将数据直接发送到 MySQL 数据库的方法。

我知道 chrome 扩展无法运行 PHP(显然)。但是,我确实可以访问托管 Web 服务器,我可以将自定义 PHP 脚本上传到该服务器。

有没有办法将我解析的数据直接发送到托管的 PHP 脚本,该脚本将处理数据,然后将数据发送到同一服务器上的 MySQL 数据库?

到目前为止,我研究的所有内容都导致“chrome extensions cannot run PHP scripts”。. .

谢谢你的帮助!

编辑:我正在考虑的一个选项是用我的数据值注入 HTML 隐藏字段,然后使用 javascript 将数据 POST 到 PHP URL 。. . . 那会是一个选择吗?chrome扩展可以注入隐藏字段吗?

4

1 回答 1

3

您绝对可以从 chrome 扩展向服务器发出 POST 方法 HTTP 请求。它不需要任何类型的黑客来实现这一点。使用原生 JavaScript 对 XMLHttpRequest 使用“POST”方法,或者使用像 jQuery 这样的库来发出$.post请求。

有几件事:

您将要使用 HTTPS,因此请为您的 server/domain 获取 SSL 证书。如果您在受 HTTPS 保护的页面上解析任何类型的网站内容并将其以明文形式发送到您自己的服务器,那么您就是在做一件非常糟糕的事情。不要那样做。

确保您告诉您的用户您正在这样做。一些/大多数人可能不希望这样。

使用内容脚本从 DOM 中获取内容。使用 postMessage 消息传递将其传递给您的扩展后台脚本。

从后台脚本发出 POST 请求。

您将需要更新您的 manifest.json 以获得对您要将内容注入的 URL 的权限,以及向您的服务器域发出 POST 请求的权限。用户必须查看并批准这些权限,但他们不会知道您在做什么,因此请务必告诉他们。

于 2013-09-21T13:57:58.070 回答