Amboss No Distractions

Hide all distractions and maximize your reading efficiency in Miamed Amboss. It hides the top / side bar and expand all sections of a card automatically.

当前为 2016-09-16 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Amboss No Distractions
  3. // @namespace http://oix.cc/gm
  4. // @description Hide all distractions and maximize your reading efficiency in Miamed Amboss. It hides the top / side bar and expand all sections of a card automatically.
  5. // @author Bin Zhang
  6. // @icon https://amboss.miamed.de/favicon-192x192.png
  7. // @homepageURL http://oix.cc/amboss
  8. // @version 0.0.2
  9. // @match https://amboss.miamed.de/library
  10. // @include /^https?://amboss-miamed-de\.ezproxy\..*/library$/
  11. // @run-at document-idle
  12. // ==/UserScript==
  13.  
  14. (function(){
  15.  
  16. var loadingWatcher;
  17.  
  18. if (typeof angular !== 'undefined' || typeof angular.element('#LibraryContent').scope() !== 'undefined') {
  19. setwatcher();
  20. window.addEventListener("hashchange", setwatcher);
  21. }
  22.  
  23. function setwatcher() {
  24. loadingWatcher = setInterval(checkloading, 5);
  25. }
  26. function checkloading() {
  27. console.log('watch');
  28. console.log(angular.element('#LibraryContent').scope().$root.loading);
  29.  
  30. if (angular.element('#LibraryContent').scope().$root.loading !== true) {
  31. //console.log(typeof angular.element('#LibraryContent').scope().$root.loading);
  32. clearInterval(loadingWatcher);
  33. loaded();
  34. }
  35. }
  36.  
  37. function loaded () {
  38. console.log('loaded');
  39. //console.log($('#LibraryContent').html());
  40.  
  41. if ($('#LibraryContent').find('#LibraryList').length > 0) {
  42. console.log('list');
  43. } else if ($('#LibraryContent').find('article.LearningCard').length > 0) {
  44. console.log('card');
  45. if ($('#amboss-menu').hasClass("move")) {
  46. $('#amboss-menu').click();
  47. //angular.element('#amboss-menu').click();
  48. }
  49. var e = $("#LibraryIndex").find("button.Sidemenu");
  50. if (e.hasClass("active")) {
  51. //e.addClass("active");
  52. LibrarySideMenu.toggleSidemenu();
  53. //e.hasClass("active") ? (e.removeClass("active"),
  54. //LibrarySideMenu.closeSidemenu()) : ();
  55. }
  56. angular.element('#LearningCard').scope().triggerKeyEvent(32);
  57. // Simulate keyup event
  58. //var ev = $.Event('keyup');
  59. //ev.which = 32; // space
  60. //$('#LearningCard').trigger(ev);
  61. //$('#LibraryContent').find('article.LearningCard').length > 0 && Page.updateElements(1)
  62. }
  63. }
  64.  
  65. }());