【发布时间】:2014-06-06 19:29:39
【问题描述】:
我目前正在编写一个 Chrome 扩展程序,它获取用户选择的数据并将其传递到另一个窗口。除了 manifest.json 文件,我还有一个 background.js 和 index.php 文件。
background.js 文件成功抓取用户选择的数据,打开一个新的浏览器窗口,然后通过 $_GET 将用户选择的数据传递给位于服务器上的 index.php 文件。这很有效,直到您超过某个字符限制,在这种情况下,您会收到一条错误消息,指出 url 太长。我想知道是否可以使用 $_POST 或任何其他允许更大数据选择的方法将数据从 background.js 文件发送到新窗口?还是我可以先将用户选择的数据传递给新窗口,然后让该窗口访问服务器?
background.js
function getClickHandler() {
return function(info, tab) {
var tx = info.selectionText;
tx = encodeURIComponent(tx);
// Create a new window to the info page.
var url = 'http://192.168.0.22?tx=' + tx;
chrome.windows.create({url: url, width: 500, height: 760 });
};
};
chrome.contextMenus.create({
"title" : "Store",
"type" : "normal",
"contexts" : ["selection"],
"onclick" : getClickHandler()
});
index.php
<?php
$text = $_GET['tx'];
print ($text);
?>
【问题讨论】:
-
也许用
textarea创建一个表单,填充textarea,然后将表单提交到新窗口?我说maybe因为我没有使用 Chrome 扩展程序的经验... -
这是个好主意。问题是我的java真的很有限,我不知道该怎么做。
标签: javascript php jquery html google-chrome