diff --git a/r2/r2/controllers/post.py b/r2/r2/controllers/post.py
index 143d372c3..1e5629136 100644
--- a/r2/r2/controllers/post.py
+++ b/r2/r2/controllers/post.py
@@ -96,6 +96,7 @@ class PostController(ApiController):
pref_threaded_messages = VBoolean("threaded_messages"),
pref_collapse_read_messages = VBoolean("collapse_read_messages"),
pref_private_feeds = VBoolean("private_feeds"),
+ pref_local_js = VBoolean('local_js'),
pref_show_adbox = VBoolean("show_adbox"),
pref_show_sponsors = VBoolean("show_sponsors"),
pref_show_sponsorships = VBoolean("show_sponsorships"),
diff --git a/r2/r2/lib/js.py b/r2/r2/lib/js.py
index c277769cb..b9d593dd9 100755
--- a/r2/r2/lib/js.py
+++ b/r2/r2/lib/js.py
@@ -169,7 +169,7 @@ class JQuery(Module):
def use(self):
from r2.lib.template_helpers import static
- if c.secure:
+ if c.secure or c.user.pref_local_js:
return script_tag.format(src=static("jquery.js"))
else:
ext = ".js" if g.uncompressedJS else ".min.js"
diff --git a/r2/r2/models/account.py b/r2/r2/models/account.py
index 5a9fcbbcf..ad6c7e977 100644
--- a/r2/r2/models/account.py
+++ b/r2/r2/models/account.py
@@ -68,6 +68,7 @@ class Account(Thing):
pref_threaded_messages = True,
pref_collapse_read_messages = False,
pref_private_feeds = True,
+ pref_local_js = False,
pref_show_adbox = True,
pref_show_sponsors = True, # sponsored links
pref_show_sponsorships = True,
diff --git a/r2/r2/templates/prefoptions.html b/r2/r2/templates/prefoptions.html
index 3e7b6031d..26bd16390 100644
--- a/r2/r2/templates/prefoptions.html
+++ b/r2/r2/templates/prefoptions.html
@@ -279,6 +279,16 @@
${_("details")}
)
+
+ ${checkbox(_("load core JS libraries from reddit servers"), "local_js")}
+
+
+ (
+
+ ${_("details")}
+
+ )
+
%endif