AtCoderUserSearchForm

add form for user search (only lang=ja)

  1. // ==UserScript==
  2. // @name AtCoderUserSearchForm
  3. // @namespace https://github.com/refine-P
  4. // @version 1.0.2
  5. // @description add form for user search (only lang=ja)
  6. // @author fine
  7. // @license MIT
  8. // @include https://atcoder.jp/home*
  9. // @include https://atcoder.jp/users*
  10. // ==/UserScript==
  11.  
  12. /*
  13. JavaScriptをまともに書いたことがない人間が書いたので、
  14. 気になる所があれば、Twitterとかで教えていただければ幸いです。
  15. */
  16.  
  17. "use strict";
  18.  
  19. // ユーザ検索のフォームを挿入する
  20. // http://kimizuka.hatenablog.com/entry/2014/09/12/095957
  21. var addUserSearchHTML = [
  22. '<form class="navbar-form navbar-left">',
  23. ' <div class="form-group input-group input-group-sm" style="margin-top:3px;">',
  24. ' <input type="text" class="form-control" id="user_search", placeholder="User Search">',
  25. ' <div class="input-group-btn">',
  26. ' <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>',
  27. ' </div>',
  28. ' </div>',
  29. '</form>'
  30. ].join("\n");
  31.  
  32. var target = document.getElementsByClassName('header-sub_page')[0].lastElementChild;
  33. target.insertAdjacentHTML('afterend', addUserSearchHTML);
  34.  
  35. // ユーザ検索の項目を取得
  36. var userSearch = document.getElementsByClassName('header-sub_page')[0].getElementsByTagName('form')[0];
  37.  
  38. // 言語に応じてplaceholderを変更
  39. var lang = document.getElementsByTagName('meta')[1].content; // 使用言語を取得
  40. if (lang == 'ja') userSearch.getElementsByTagName('input')[0].placeholder = 'ユーザ検索';
  41.  
  42. // ユーザ検索機能の追加
  43. userSearch.addEventListener('submit', function(event) {
  44. event.preventDefault();
  45.  
  46. var base = "https://atcoder.jp/users/";
  47. var userName = userSearch.user_search.value;
  48. var url = base + userName;
  49.  
  50. // ユーザーがいるかどうかチェックして、
  51. // いなかったらページをいい感じにするやつがやりたいが一旦保留
  52. // とりあえず、何も考えずにユーザー名をくっつけて遷移
  53. window.location.href = url;
  54. }, false);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址