Greasy Fork 还支持 简体中文。

Dropbox Direct Links

Displays direct link to shared file for embedding purposes

目前為 2014-12-04 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Dropbox Direct Links
  3. // @namespace https://github.com/phracker
  4. // @version 1.1.8
  5. // @description Displays direct link to shared file for embedding purposes
  6. //
  7. // @grant GM_setClipboard
  8. // @grant GM_getResourceText
  9. // @grant GM_getResourceURL
  10. // @grant GM_log
  11. //
  12. // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js
  13. // @require https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.js
  14. // @require https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.swf
  15. //
  16. // @include http*://*dropbox.com/s/*/*
  17. // ==/UserScript==
  18.  
  19. // direct url
  20. var durl = document.URL.replace('www.dropbox.com', 'dl.dropboxusercontent.com').replace(/\?.*/, '').replace(/\#.*/, '');
  21.  
  22. // Create direct link and copy button
  23. var div = document.createElement('div');
  24. div.setAttribute('align', 'center');
  25. div.setAttribute('style', 'font-size: 12px; vertical-align: middle;');
  26. var a = document.createElement('a');
  27. a.href = durl;
  28. a.setAttribute('style', 'text-decoration: none;');
  29. a.textContent = durl;
  30. var b = document.createElement('button');
  31. b.setAttribute('id', 'durl');
  32. b.setAttribute('data-clipboard-text', durl);
  33. b.setAttribute('title', 'Copy Direct URL');
  34. b.setAttribute('style', 'font-size: 10px; padding: 0px 6px; margin-left: 1em; font-weight: 800;');
  35. b.setAttribute('class', 'freshbutton-lightblue');
  36. b.appendChild(document.createTextNode('Copy'));
  37. div.appendChild(document.createTextNode('Direct: '));
  38. div.appendChild(a);
  39. div.appendChild(b);
  40. // Append to page
  41. document.getElementById('page-content').appendChild(div);
  42.  
  43. //Create menu button
  44. var mb = document.createElement('button');
  45. mb.setAttribute('id', 'mdurl');
  46. mb.setAttribute('data-clipboard-text', durl);
  47. mb.setAttribute('title', 'Copy Direct URL');
  48. mb.setAttribute('style', 'display: inline-block; vertical-align: middle; zoom: 1; margin-left: 8px;');
  49. mb.setAttribute('class', 'freshbutton-blue');
  50. mb.appendChild(document.createTextNode('Copy Direct URL'));
  51. // Add to menu
  52. var buttons = document.getElementsByClassName('buttons').item(0);
  53. var extrasButton = document.getElementById('non-owner-menu-button');
  54. buttons.insertBefore(mb,extrasButton);
  55.  
  56.  
  57. ZeroClipboard.config({
  58. swfPath: "https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.5/ZeroClipboard.swf"
  59. });
  60. var zc = new ZeroClipboard($('#durl'));
  61. zc.on('ready', function(event) {
  62. zc.on('copy', function(event) {
  63. event.clipboardData.setData('text/plain', durl);
  64. });
  65. });
  66. var zcm = new ZeroClipboard($('#mdurl'));
  67. zcm.on('ready', function(event) {
  68. zcm.on('copy', function(event) {
  69. event.clipboardData.setData('text/plain', durl);
  70. });
  71. });