您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Enable dropping logfiles into a dropzone on the upload page
- // ==UserScript==
- // @name PTH Drop Logfile
- // @version 0.5
- // @description Enable dropping logfiles into a dropzone on the upload page
- // @author Chameleon
- // @include http*://redacted.ch/upload.php*
- // @include http*://redacted.ch/logchecker.php*
- // @grant none
- // @run-at document-idle
- // @namespace https://greasyfork.org/users/87476
- // ==/UserScript==
- (function() {
- 'use strict';
- var inputs=document.getElementsByTagName('input');
- for(var i=0; i<inputs.length; i++)
- {
- var inp=inputs[i];
- if(inp.type == 'file')
- {
- if(inp.getAttribute('hasDropzone') == 'true')
- continue;
- var field=inp.parentNode.getElementsByTagName('input');
- if(field.length > 1)
- {
- if(field[0].id == 'image')
- continue;
- }
- makeDropzone(inp);
- }
- }
- /*var input=document.getElementById('logfields').getElementsByTagName('input')[0];
- makeDropzone(input);*/
- var script=document.createElement('script');
- script.appendChild(document.createTextNode('AddLogField=('+AddLogField+'); makeDropzone=('+makeDropzone+'); dragenter=('+dragenter+'); drop=('+drop+');'));
- document.body.appendChild(script);
- }());
- function AddLogField()
- {
- if (LogCount >= 200) {
- return;
- }
- var LogField = document.createElement("input");
- LogField.type = "file";
- LogField.id = "file";
- LogField.name = "logfiles[]";
- LogField.size = 50;
- var x = $('#logfields').raw();
- x.appendChild(document.createElement("br"));
- x.appendChild(LogField);
- LogCount++;
- makeDropzone(LogField);
- }
- function makeDropzone(input)
- {
- var dropzone = document.createElement('div');
- input.parentNode.appendChild(dropzone);
- dropzone.addEventListener("dragenter", dragenter, false);
- dropzone.addEventListener("dragover", dragenter, false);
- dropzone.addEventListener("drop", drop.bind(undefined, input), false);
- dropzone.innerHTML = 'Or drop files here';
- dropzone.setAttribute('style', 'width: 400px; height: 30px; background: rgba(64,64,64,0.8); border: dashed; border-radius: 10px; margin: auto; text-align: center; font-size: 20px;');
- input.setAttribute('hasDropzone', 'true');
- }
- function dragenter(event)
- {
- event.preventDefault();
- event.stopPropagation();
- }
- function drop(input, event)
- {
- event.preventDefault();
- event.stopPropagation();
- /*event.dataTransfer.files = document.getElementById('file').files;
- console.log('here');
- input.files = event.dataTransfer.files;*/
- var e=new event.constructor(event.type, event);
- input.dispatchEvent(e);
- }