我正在编写一个用户脚本,以从页面获取图像并将其上传到服务器。该脚本在FF(Greasemonkey和Scriptish)中运行良好,但是当我使用Chrome(使用Tampermonkey或Ninjakit)时,它不发送数据,而是发送字符串* [object Object] *。
这是我的脚本:
// ==UserScript==
// @id myid
// @name myname
// @version 1.0
// @namespace ohadcn
// @author Ohad Cohen
// @description mydescription
// @include https://*
// @grant GM_xmlhttpRequest
// @require https://code.jquery.com/jquery-2.0.3.min.js
// @run-at document-end
// ==/UserScript==
function getBase64Image(img) {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}
img=$("img[alt=myImage]").get(0);
img.onload=function(){
var img64=getBase64Image(img)
var _data=new FormData();
_data.append("image64",img64);
GM_xmlhttpRequest({
method: "POST",
url: …Run Code Online (Sandbox Code Playgroud) greasemonkey google-chrome gm-xmlhttprequest tampermonkey ninjakit