// ==UserScript==
// @name 快速上传图片至图床
// @namespace Violentmonkey Scripts
// @version 1.0
// @match *://*/*
// @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js
// @require https://apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js
// @require https://cdn.bootcss.com/clipboard.js/2.0.4/clipboard.min.js
// @grant GM_registerMenuCommand
// @author yaohunzhanyue
// @description 点击内置按钮,可自动上传本地图片到免费图床,自动生成图片嵌入代码并写入系统粘贴板,直接在帖子中粘贴即可快速插入本地图片或在线图片。
// @downloadURL none
// ==/UserScript==
GM_registerMenuCommand("上传图层", function(){document.getElementById("xxzzyyxx123").click()});
'use strict';
$("#compose .cell:eq(3)").append('
插入图片
');
var popupdiv = '\
\
';
$("body").append(popupdiv);
new ClipboardJS('.btn'); // 粘贴板js脚本初始化
$("#popup").draggable(); // 弹出框可以拖拽
$("#image_link").change(function(e){
var image_link = $("#image_link").val();
$(".btn:eq(1)").attr("data-clipboard-text", '
');
});
$(".btn:eq(1)").click(function(){
var image_link = $("#image_link").val();
if(image_link == ""){
alert("图片地址为空!");
}else{
$("#image_show").html('
');
}
});
$("#close").click(function(){ // 关闭弹框
$("#popup").fadeOut(); // 淡出效果
});
$("#upfile").change(function(e){
$("#tip1").css("display","block");
$("#tip1").html("图片正在上传中...");
var image_form = new FormData();
image_form.append('smfile',this.files[0]);
$.ajax({
url: 'https://sm.ms/api/upload',
type: 'POST',
data: image_form,
mimeType: 'multipart/form-data',
contentType: false,
cache: false,
processData: false,
dataType: 'json',
success: function(data) {
console.log(data);
$("#tip1").html("图片上传成功!请点击【嵌入】按钮生成图片嵌入代码。");
$(".btn").removeAttr("disabled");
$(".btn:first").click(function(){
$("#tip1").html("图片嵌入代码已写入剪贴板,直接到文中粘贴即可。");
});
var status = data['code'];
if(status == 'success'){
var image_url = data['data']['url'];
}
if(status == 'exception'){ // 重复上传
var image_url = data['message'].slice(51);
}
$(".btn:first").attr("data-clipboard-text", '
');
$("#image_show").css("display","block");
$("#image_show").html('
');
// $(".btn:first").click();
},
error: function(XMLResponse) {
alert("error:" + XMLResponse.responseText)
}
});
});
window.online_image_success = function (){ // 由于存在防盗链,因此远程图片可能显示不了。外部要是调用函数,需要挂靠到window上。
$("#tip2").css("display","block");
$("#tip2").html("图片嵌入代码已写入剪贴板,直接到文中粘贴即可。");
$("#image_show").css("display","block");
}
window.online_image_fail = function (){ // 防盗链,远程图片显示异常。
$("#tip2").html("由于该网站的图片存在防盗链设置,不可直接嵌入本文,可以下载原图到本地,再上传嵌入。");
$("#image_show").css("display","none");
}