H-Flash Downloader

Create swf download link on the info bar

  1. // ==UserScript==
  2. // @name H-Flash Downloader
  3. // @name:zh-CN H-Flash 下载器
  4. // @namespace http://tampermonkey.net/
  5. // @version 0.6
  6. // @description:en Create download link for flash games on h-flash.com
  7. // @description:zh-cn 添加h-flash.com中游戏的下载链接
  8. // @author sini
  9. // @match https://h-flash.com/*
  10. // @icon
  11. // @grant GM.xmlHttpRequest
  12. // @license GPLv3
  13. // @description Create swf download link on the info bar
  14. // ==/UserScript==
  15.  
  16. function create_dl(downpath,downname){
  17. var dl=document.createElement('A');
  18. var dlText=document.createTextNode("⬇️Download");
  19. dl.href=downpath;
  20. dl.download=downname;
  21. dl.appendChild(dlText);
  22. dl.className="Download Link"
  23. dl.onmouseout=function(ev){
  24. ev.target.style.color="#000000";
  25. }
  26. dl.onmouseover=function(ev){
  27. ev.target.style.color="#FF00FF";
  28. }
  29. return dl;
  30. }
  31. function add_dl(downpath,downname,parentE){
  32. var dl=create_dl(downpath,downname);
  33. var span0=parentE.getElementsByTagName("span")[0];
  34. parentE.insertBefore(dl,span0);
  35. }
  36. function add_dl_by_url(urlt,parentE){
  37. GM.xmlHttpRequest({
  38. method: "GET",
  39. url: urlt,
  40. onload: function(response) {
  41. var t=response.responseText;
  42. var sBegin=t.search("var downpath");
  43. var sEnd=t.search("var downallow")
  44. t=t.substring(sBegin,sEnd);
  45. eval(t);
  46. add_dl(downpath,downname,parentE);
  47. }
  48. });
  49. }
  50. var last=0;
  51. function add_lite_dl(){
  52. var e=document.getElementsByClassName("gamebox");
  53. var e_dl=e[0].getElementsByClassName("Download Link");
  54. if(e_dl.length==0){
  55. last=0;
  56. }
  57. while(last<e.length){
  58. add_dl_by_url(e[last].href,e[last]);
  59. last++;
  60. }
  61. }
  62.  
  63. (function() {
  64. 'use strict';
  65.  
  66. // Your code here...
  67. if(typeof(downpath)!='undefined'){
  68. var e=document.getElementsByClassName("rankinfo");
  69. add_dl(downpath,downname,e[0]);
  70. }
  71. setInterval(add_lite_dl,1000);
  72. })();