🏠 Home 

Quora Unblocker

Removes the Quora login requirement and any nagging about it


Install this script?
  1. // ==UserScript==
  2. // @name Quora Unblocker
  3. // @description Removes the Quora login requirement and any nagging about it
  4. // @namespace http://sindresorhus.com
  5. // @version 1.1.0
  6. // @author Sindre Sorhus
  7. // @license MIT
  8. // @released 2013-02-17
  9. // @updated 2019-03-11
  10. // @icon https://github.com/sindresorhus/quora-unblocker-userscript/raw/master/icon.png
  11. // @grant GM_addStyle
  12. // @match *://quora.com/*
  13. // @match *://www.quora.com/*
  14. // @run-at document-start
  15. // ==/UserScript==
  16. (function () {
  17. 'use strict';
  18. var queryString = {};
  19. queryString.parse = function (str) {
  20. if (typeof str !== 'string') {
  21. return {};
  22. }
  23. str = str.trim().replace(/^(\?|#)/, '');
  24. if (!str) {
  25. return {};
  26. }
  27. return str.trim().split('&').reduce(function (ret, param) {
  28. var parts = param.replace(/\+/g, ' ').split('=');
  29. var key = parts[0];
  30. var val = parts[1];
  31. key = decodeURIComponent(key);
  32. // missing `=` should be `null`:
  33. // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
  34. val = val === undefined ? null : decodeURIComponent(val);
  35. if (!ret.hasOwnProperty(key)) {
  36. ret[key] = val;
  37. } else if (Array.isArray(ret[key])) {
  38. ret[key].push(val);
  39. } else {
  40. ret[key] = [ret[key], val];
  41. }
  42. return ret;
  43. }, {});
  44. };
  45. queryString.stringify = function (obj) {
  46. return obj ? Object.keys(obj).map(function (key) {
  47. var val = obj[key];
  48. if (Array.isArray(val)) {
  49. return val.map(function (val2) {
  50. return encodeURIComponent(key) + '=' + encodeURIComponent(val2);
  51. }).join('&');
  52. }
  53. return encodeURIComponent(key) + '=' + encodeURIComponent(val);
  54. }).join('&') : '';
  55. };
  56. if (typeof define === 'function' && define.amd) {
  57. define(function() { return queryString; });
  58. } else if (typeof module !== 'undefined' && module.exports) {
  59. module.exports = queryString;
  60. } else {
  61. window.queryString = queryString;
  62. }
  63. })();
  64. (function () {
  65. 'use strict';
  66. var query = queryString.parse(location.search);
  67. if (!query.share) {
  68. query.share = 1;
  69. location.search = queryString.stringify(query);
  70. return;
  71. }
  72. document.addEventListener('DOMContentLoaded', function () {
  73. // silently fails in Firefox if placed outside when `document-start`
  74. GM_addStyle('.LoggedOutSiteHeader, .narrow_signup_form, .signup_bubble, .signup_column, .logged_out .follow_button, .logged_out .ActionBar, .logged_out .AskToAnswerSectionToggle, .logged_out .answer_voters, .logged_out .Footer, .inline_answer_logged_out { display: none !important }');
  75. });
  76. })();