gpt4 book ai didi

javascript - 从 chrome 扩展中使用 post 方法发送文本

转载 作者:行者123 更新时间:2023-11-29 22:01:11 24 4
gpt4 key购买 nike

使用 chrome 扩展程序发送大文本

我正在尝试使用我的 chrome 扩展程序将存储在我本地存储中的大文本发送到一个站点。我看过这个answer并使用此代码

function ls(){return localStorage['txt'];}
function fakePost() {
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "http://cvsguimaraes.altervista.org/fiddles/postcheck.php");
var params = {action: ls()};
for(var key in params) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
document.body.appendChild(form);
form.submit();
};
fakePostCode = fakePost.toString().replace(/(\n|\t)/gm,'');

chrome.browserAction.onClicked.addListener(function (t) {
chrome.tabs.create({"url" : "javascript:"+fakePostCode+"; fakePost();"});
});

但是 ls 没有定义。我怎样才能发送这个文本?我没有使用 XmlHTTP,因为我需要在新标签页中打开它

最佳答案

基本上,答案是您不能使用所描述的方法。您的大数据不适合 URL,并且您通过 URL 注入(inject)的代码根本无法与扩展代码交互。

您需要一个替代解决方案,但值得庆幸的是它应该很简单。您可以在将发布数据的扩展中包含一个 html 文件,然后打开该页面。该 HTML 文件作为您的扩展的一部分,可以访问其 localStorage

编辑:我已经创建了一个通用解决方案,请参阅 this answer .

类似的东西:

post.html:

<html>
<head>
</head>
<body>
<script src="post.js"></script>
</body>
</html>

post.js:

var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "http://cvsguimaraes.altervista.org/fiddles/postcheck.php");
var params = {action: localStorage['txt'];};
for(var key in params) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
document.body.appendChild(form);
form.submit();

背景.js:

chrome.browserAction.onClicked.addListener(function (t) {
chrome.tabs.create({"url" : chrome.runtime.getURL("post.html")});
});

关于javascript - 从 chrome 扩展中使用 post 方法发送文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23682827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com