Google chrome extension 在chrome extensions中打开带有post数据的选项卡

Google chrome extension 在chrome extensions中打开带有post数据的选项卡,google-chrome-extension,Google Chrome Extension,我想打开一个新的选项卡,将一些数据发布到该选项卡。我该怎么做 提前感谢您的帮助。您可以创建一个表单,并通过JavaScript提交。可以找到一个一般的例子。这可以在扩展中的任何地方完成,从背景页面到内容脚本 如果需要在没有内容脚本的情况下对表单位置进行更多控制,可以使用以下通用格式的数据URL: data:text/html;charset=utf8,<form></form><script>document.forms[0].submit();</sc

我想打开一个新的选项卡,将一些数据发布到该选项卡。我该怎么做


提前感谢您的帮助。

您可以创建一个表单,并通过JavaScript提交。可以找到一个一般的例子。这可以在扩展中的任何地方完成,从背景页面到内容脚本

如果需要在没有内容脚本的情况下对表单位置进行更多控制,可以使用以下通用格式的数据URL:

data:text/html;charset=utf8,<form></form><script>document.forms[0].submit();</script>
数据:text/html;charset=utf8,document.forms[0].submit();
或者,按程序:

var url = 'data:text/html;charset=utf8,';
function append(key, value) {
    var input = document.createElement('textarea');
    input.setAttribute('name', key);
    input.textContent = value;
    form.appendChild(input);
}
var form = document.createElement('form');
form.method = 'POST';
form.action = 'http://rob.lekensteyn.nl/dump.php';
append('q', 'query');
url += encodeURIComponent(form.outerHTML);
url += encodeURIComponent('<script>document.forms[0].submit();</script>');
// A general method
window.open(url);
// Or, use chrome extension-specific method which offers more control
// chrome.tabs.create({url: url, active: true});
var url='数据:text/html;字符集=utf8';
函数附加(键、值){
var input=document.createElement('textarea');
input.setAttribute('name',key);
input.textContent=值;
表单。追加子项(输入);
}
var form=document.createElement('form');
form.method='POST';
形式.行动http://rob.lekensteyn.nl/dump.php';
追加('q','query');
url+=encodeURIComponent(form.outerHTML);
url+=encodeURIComponent('document.forms[0].submit();');
//一般方法
窗口打开(url);
//或者,使用chrome扩展特定的方法提供更多控制
//create({url:url,active:true});
PS.的源代码(用于显示标题和POST数据):


<?php
header('Content-Type: text/plain');
foreach ($_SERVER as $header => $value) {
    if (strpos($header, 'HTTP_') === 0) {
        echo str_pad(substr($header, 5), 20) . " " . $value . "\n";
    }
}
echo "\n\n";
$input = fopen('php://input', 'rb');
while (!feof($input)) {
    echo fread($input, 102400);
}
fclose($input);
?>