// ==UserScript== // @name Dropbox Direct Links // @namespace https://github.com/phracker // @version 1.1.30 // @description Displays direct link to shared file for embedding purposes // // @grant GM_setClipboard // @grant GM_getResourceText // @grant GM_getResourceURL // @grant GM_log // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant GM_openInTab // @grant GM_info // // @require https://code.jquery.com/jquery-2.2.2.min.js // @require https://cdn.jsdelivr.net/zeroclipboard/2.2.0/ZeroClipboard.js // // @include http*://*dropbox.com/s/*/* // @include http*://*dropbox.com/sh/*/* // @downloadURL none // ==/UserScript== // direct url var durl = document.URL.replace('www.dropbox.com', 'dl.dropboxusercontent.com').replace(/\?.*/, '').replace(/\#.*/, ''); // Create direct link and copy button var div = document.createElement('div'); div.setAttribute('align', 'center'); div.setAttribute('style', 'font-size: 12px; vertical-align: middle;'); var a = document.createElement('a'); a.href = durl; a.setAttribute('style', 'text-decoration: none;'); a.textContent = durl; var b = document.createElement('button'); b.setAttribute('id', 'durl'); b.setAttribute('data-clipboard-text', durl); b.setAttribute('title', 'Copy Direct URL'); b.setAttribute('style', 'font-size: 10px; padding: 0px 6px; margin-left: 1em; font-weight: 800;'); b.setAttribute('class', 'freshbutton-lightblue'); b.appendChild(document.createTextNode('Copy')); div.appendChild(document.createTextNode('Direct: ')); div.appendChild(a); div.appendChild(b); // Append to page $('body').append(div); //Create menu button var mb = document.createElement('button'); mb.setAttribute('id', 'mdurl'); mb.setAttribute('data-clipboard-text', durl); mb.setAttribute('title', 'Copy Direct URL'); mb.setAttribute('style', 'display: inline-block; vertical-align: middle; zoom: 1; margin-left: 8px;'); mb.setAttribute('class', 'freshbutton-blue'); mb.appendChild(document.createTextNode('Copy Direct URL')); // Add to menu var buttons = $('.buttons')[0]; var extrasButton = $('#non-owner-menu-button')[0]; $(buttons).append(mb); // ZeroClipboard.config({ // swfPath: "https://dl.dropboxusercontent.com/s/z8gln344lvluj17/ZeroClipboard.swf" // }); var zc = new ZeroClipboard($('#durl')); zc.on('ready', function(event) { zc.on('copy', function(event) { event.clipboardData.setData('text/plain', durl); }); }); var zcm = new ZeroClipboard($('#mdurl')); zcm.on('ready', function(event) { zcm.on('copy', function(event) { event.clipboardData.setData('text/plain', durl); }); });