Kawiesh

Untitled

Dec 15th, 2021
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. let create= (x)=> document.createElement(x),
  2. select= (x,y=document)=> y.querySelector(x),
  3. selectAll= (x,y=document)=> y.querySelectorAll(x);
  4.  
  5.  
  6. let a= selectAll("a");
  7. let f= prompt("Find links containing this keyword. RegEx allowed!. Leave blank to list all links");
  8. let e=[];
  9.  
  10. let table= create("table");
  11. let tbody= create("tbody");
  12. table.append(tbody);
  13.  
  14. function findLinks(regex){
  15. a.forEach(i=>{
  16. if(regex.test(i.href)){
  17. let td1= create("td");
  18. let td2= create("td");
  19. td1.innerHTML= i.innerHTML|| "Empty name";
  20. td2.innerHTML= `<a href="${i.href}">${i.href}</a>`;
  21.  
  22. let tr= create("tr");
  23. tr.append(td1,td2);
  24. tbody.append(tr);
  25. }
  26. });
  27. }
  28.  
  29.  
  30. if(f){
  31. let regexp= /^\/(.*?)\/([gimuy]*)$/;
  32. let match= f.match(regexp);
  33. let regex= (match) ? new RegExp(match[1],match[2]) : new RegExp(f);
  34. findLinks(regex);
  35. }
  36. else{
  37. let regex= /.+/;
  38. findLinks(regex);
  39. }
  40.  
  41.  
  42.  
  43. b.innerHTML= e.join("\n");
  44.  
  45.  
  46.  
  47. let rows= selectAll("tr",g.document);
  48. rows.forEach((i,x)=>{
  49. let a= create("td");
  50. a.innerHTML= x+1;
  51. i.prepend(a);
  52. });
  53.  
  54. if(a && a.length){
  55. //-----
  56. if(f){
  57. select("#title",g.document).innerHTML=
  58. (e && e.length) ?
  59. `Showing ${rows.length} out of ${a.length} links,
  60. matching <span class="red">${f}</span>`
  61. :
  62. `No links found matching <span class="red">${f}</span>`;
  63. }
  64. else{
  65. select("#title",g.document).innerHTML=
  66. (e && e.length) ?
  67. `Showing all links found on <span class="red">${location.href}</span>`
  68. :
  69. `No links found matching <span class="red">${f}</span>`;
  70. }
  71. //-----
  72. }
  73. else{
  74. select("#title",g.document).innerHTML=
  75. `No links found on <span class="red">${location.href}</span>`;
  76.  
  77. }
  78.  
  79.  
  80.  
  81.  
  82. //----
  83. let b= create("table");
  84. let c= create("style");
  85. let d= create("div");
  86. d.id= "title";
  87. let g= window.open();
  88. g.document.body.append(c,d,b);
  89.  
  90.  
  91. c.innerHTML=`
  92. .red{
  93. color: red;
  94. }
  95.  
  96. table{
  97. border:1.5px solid black;
  98. border-collapse: collapse;
  99. width: 90vw;
  100. margin-left: 5vw;
  101. table-layout: fixed;
  102. }
  103.  
  104. #title{
  105. padding: 5px;
  106. width: 90vw;
  107. margin: 10px 5vw;
  108. background: pink;
  109. }
  110.  
  111.  
  112. td{
  113. padding: 2px;
  114. border:1px solid black;
  115. height: calc(1em + 5px);
  116. width: calc((100% - 3ch) / 2);
  117. text-align: left;
  118. vertical-align: center;
  119. overflow: auto;
  120. }
  121.  
  122.  
  123.  
  124.  
  125. td *{
  126. max-height: calc(1em + 5px);
  127. }
  128.  
  129. tr>td:nth-child(1){
  130. color: brown;
  131. font-weight: bold;
  132. text-align: right;
  133. width: 3ch;
  134. }`;
  135.  
Advertisement
Add Comment
Please, Sign In to add comment