[niconico video] Adds a botton that add mylist to search result

Adds a button that add mylist to search result

当前为 2018-10-13 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name [niconico video] Adds a botton that add mylist to search result
  3. // @name:ja [ニコニコ動画] 検索結果からマイリスト追加するボタンを追加
  4. // @description Adds a button that add mylist to search result
  5. // @description:ja 検索結果からマイリストするボタンを追加
  6. // @namespace masshiro.wpblog.jp
  7. // @version 0.21
  8. // @author masshiro
  9. // @match http://www.nicovideo.jp/search/*
  10. // @match https://www.nicovideo.jp/search/*
  11. // @match http://www.nicovideo.jp/tag/*
  12. // @match https://www.nicovideo.jp/tag/*
  13. // @grant none
  14. // ==/UserScript==
  15. (function () {
  16. 'use strict';
  17.  
  18. var span = document.createElement('span');
  19. span.className = "value";
  20. span.style="color:#F00;text-decoration:underline;cursor:pointer";
  21. span.innerHTML="追加";
  22.  
  23. var li = document.createElement('li');
  24. li.appendChild(span);
  25. li.className = 'count';
  26.  
  27. li.addEventListener('click',function () {
  28. window.open("http://www.nicovideo.jp/mylist_add/video/" + encodeURIComponent(document.querySelectorAll("li[data-video-item]")[0].getAttribute("data-video-id")), "nicomylistadd", "width=500, height=400, menubar=no, scrollbars=no");
  29. },false);
  30.  
  31. Array.prototype.forEach.call(document.querySelectorAll("li[data-video-item] div.itemContent div.itemData ul.list"), function(item,i) {
  32. var lis = li.cloneNode(true);
  33. lis.addEventListener('click',function () {
  34. window.open("http://www.nicovideo.jp/mylist_add/video/" + encodeURIComponent(document.querySelectorAll("li[data-video-item]")[i].getAttribute("data-video-id")), "nicomylistadd", "width=500, height=400, menubar=no, scrollbars=no");
  35. },false);
  36. item.appendChild(lis);
  37. });
  38.  
  39. document.body.addEventListener('AutoPagerize_DOMNodeInserted',function(evt){
  40. Array.prototype.forEach.call(evt.target.querySelectorAll("li[data-video-item] div.itemContent div.itemData ul.list"), function(item,i) {
  41. var lis = li.cloneNode(true);
  42. lis.addEventListener('click', function () {
  43. window.open("http://www.nicovideo.jp/mylist_add/video/" + encodeURIComponent(evt.target.querySelectorAll("li[data-video-item]")[i].getAttribute("data-video-id")), "nicomylistadd", "width=500, height=400, menubar=no, scrollbars=no");
  44. },false);
  45. item.appendChild(lis);
  46. });
  47. }, false);
  48. })();