fix livecampus browser back

総合ポータルシステム LiveCampusでブラウザバックを使えるようにする

  1. // ==UserScript==
  2. // @name fix livecampus browser back
  3. // @description 総合ポータルシステム LiveCampusでブラウザバックを使えるようにする
  4. // @author fukuchan
  5. // @license GPL-3.0-or-later; https://www.gnu.org/licenses/gpl-3.0.txt
  6. // @match *://a-portal.aichi-u.ac.jp/*
  7. // @match *://access.sit.ac.jp/*
  8. // @match *://campus.kyushu-ns.ac.jp/*
  9. // @match *://gakujo.shizuoka.ac.jp/*
  10. // @match *://idp.idm.kyutech.ac.jp/*
  11. // @match *://jlc.jumonji-u.ac.jp/*
  12. // @match *://ksuweb.kyusan-u.ac.jp/*
  13. // @match *://lc-nue.naruto-u.ac.jp/*
  14. // @match *://lc.brs.nihon-u.ac.jp/*
  15. // @match *://lc.nagoya-cu.ac.jp/*
  16. // @match *://lc.okiu.ac.jp/*
  17. // @match *://lc.s.kaiyodai.ac.jp/*
  18. // @match *://lc.sgk.ac.jp/*
  19. // @match *://lc.sun.ac.jp/*
  20. // @match *://livecampus.adb.fukushima-u.ac.jp/*
  21. // @match *://portal.bgu.ac.jp/*
  22. // @match *://siweb.iuk.ac.jp/*
  23. // @match *://tgulc.u-gakugei.ac.jp/*
  24. // @match *://vos-lc-web01.nagaokaut.ac.jp/*
  25. // @match *://www.lc.nishogakusha-u.ac.jp/*
  26. // @version 0.0.1.20200914024916
  27. // @namespace https://greasyfork.org/users/432749
  28. // ==/UserScript==
  29.  
  30. // 通常のブラウザバックを無効化する
  31. history.pushState(null, null, null);
  32. window.onpopstate = () => {
  33. // DOM中の「戻る」ボタンを探す
  34. const buttons = [
  35. document.querySelector(".icon-back"),
  36. document.querySelector("img[alt='戻る']"),
  37. document.querySelector("img[src$='modoru.gif']"),
  38. document.querySelector("h1 a")
  39. ].filter(button => button);
  40.  
  41. // ボタンが見つかればクリック、見つからなければ通常のブラウザバックを行う
  42. if (buttons.length) {
  43. buttons[0].click();
  44. } else {
  45. history.back();
  46. }
  47. }