From 61749d6a06d47fc9b1a7c0337a895dfb7bd00fe8 Mon Sep 17 00:00:00 2001 From: MrLuit Date: Wed, 10 May 2017 17:39:42 +0200 Subject: [PATCH] Fixed tracking noscript and removed reddit library --- _layouts/promise.html | 3 +-- css/promisepage.sass | 1 + js/promisepage.js | 58 ++++++++++++++++++++++++------------------- js/reddit.min.js | 1 - 4 files changed, 34 insertions(+), 29 deletions(-) delete mode 100644 js/reddit.min.js diff --git a/_layouts/promise.html b/_layouts/promise.html index 6b63677..ce7110b 100644 --- a/_layouts/promise.html +++ b/_layouts/promise.html @@ -25,7 +25,6 @@
Please enable Javascript and disable any adblocker to view comments.
- - + \ No newline at end of file diff --git a/css/promisepage.sass b/css/promisepage.sass index 554df9c..fffb795 100644 --- a/css/promisepage.sass +++ b/css/promisepage.sass @@ -28,6 +28,7 @@ hr .noscript color: #d9534f + display: none font-weight: bold .placecomment diff --git a/js/promisepage.js b/js/promisepage.js index fc7acda..1051cce 100644 --- a/js/promisepage.js +++ b/js/promisepage.js @@ -1,10 +1,9 @@ function renderComment(reddit, reply = false) { - if(reply) { - comment = "
"; - } - else { - comment = "
"; - } + if (reply) { + comment = "
"; + } else { + comment = "
"; + } if (reddit.data.distinguished != null) { comment += " "; } @@ -24,30 +23,35 @@ function renderComment(reddit, reply = false) { if (reddit.data.edited != false) { comment += "*"; } - comment += "
" + SnuOwnd.getParser().render(reddit.data.body.replace(/(<([^>]+)>)/ig,"")); + comment += "
" + SnuOwnd.getParser().render(reddit.data.body.replace(/(<([^>]+)>)/ig, "")); if (reddit.data.archived != false) { comment += " "; } - comment += "
"; + comment += "
"; return comment; } +var nocomments = true; + function loopComments(reddit, reply = false) { if (!reply) { $.each(reddit, function(i, data) { $.each(data, function(i, d) { - $.each(d.children, function(i, e) { - $(".loader").hide(); - $(".panel-group").append(renderComment(e)); - if (e.data.replies != '') { - loopComments(e.data.replies, true); - } - }); + if (d.hasOwnProperty("children")) { + $.each(d.children, function(i, e) { + nocomments = false; + $(".loader").hide(); + $(".panel-group").append(renderComment(e)); + if (e.data.replies != '') { + loopComments(e.data.replies, true); + } + }); + } }); }); } else { $.each(reddit.data.children, function(i, e) { - $(".panel-group").append(renderComment(e,true)); + $(".panel-group").append(renderComment(e, true)); if (e.data.replies != '') { loopComments(e.data.replies, true); } @@ -55,20 +59,22 @@ function loopComments(reddit, reply = false) { } } -if(document.location.href.indexOf("?reddit") !== -1) { - document.location = 'https://redd.it/' + redditid; +if (document.location.href.indexOf("?reddit") !== -1) { + document.location = 'https://redd.it/' + redditid; } -document.getElementsByClassName("loader")[0].style.display = 'block'; -document.getElementsByClassName("noscript")[0].outerHTML=''; - window.addEventListener('load', function() { - reddit.comments(redditid, "trumptracker").limit(20).sort("hot").fetch(function(res) { + $.get("http://www.reddit.com/r/trumptracker/comments/" + redditid + ".json", function(res) { res.shift(); loopComments(res); - if ($(".panel-group").html().indexOf('
There are no comments yet"); - } + setTimeout(function() { + if (nocomments) { + $(".loader").hide(); + $("#reddit_comments").append("

There are no comments yet

"); + } + }, 500); + }).fail(function() { + $(".loader").hide(); + $(".noscript").show(); }); }); \ No newline at end of file diff --git a/js/reddit.min.js b/js/reddit.min.js deleted file mode 100644 index 93329e2..0000000 --- a/js/reddit.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(window){"use strict";function listing(on,extras){return extras=extras||[],withFilters(on,["after","before","count","limit","show"].concat(extras))}function fetch(on){return{fetch:function(res,err){getJSON(redditUrl(on),res,err)}}}function withFilters(on,filters){var ret={};on.params=on.params||{},filters=filters||[];for(var without=function(object,key){var ret={};for(var prop in object)object.hasOwnProperty(prop)&&prop!==key&&(ret[prop]=object[prop]);return ret},filter=function(f){return"show"===f?function(){return on.params[f]="all",without(this,f)}:function(arg){return on.params[f]=arg,without(this,f)}},i=0;i0){var qs=[];for(var param in on.params)on.params.hasOwnProperty(param)&&qs.push(encodeURIComponent(param)+"="+encodeURIComponent(on.params[param]));url+="?"+qs.join("&")}return url}function getJSON(url,res,err){get(url,function(data){res(JSON.parse(data))},err)}function get(url,res,err){var xhr=new XMLHttpRequest;xhr.open("GET",url,!0),xhr.onload=function(){return res(xhr.response)},xhr.onerror=function(){return void 0!==err?err(xhr.response):void 0},xhr.send()}var reddit=window.reddit={};reddit.hot=function(subreddit){return listing({subreddit:subreddit,resource:"hot"})},reddit.top=function(subreddit){return listing({subreddit:subreddit,resource:"top"},["t"])},reddit.controversial=function(subreddit){return listing({subreddit:subreddit,resource:"controversial"},["t"])},reddit.new=function(subreddit){return listing({subreddit:subreddit,resource:"new"})},reddit.about=function(subreddit){return fetch({subreddit:subreddit,resource:"about"})},reddit.random=function(subreddit){return fetch({subreddit:subreddit,resource:"random"})},reddit.info=function(subreddit){var on={subreddit:subreddit,resource:"api/info"};return withFilters(on,["id","limit","url"])},reddit.comments=function(article,subreddit){var on={subreddit:subreddit,resource:"comments/"+article};return withFilters(on,["comment","context","depth","limit","sort"])},reddit.recommendedSubreddits=function(srnames){var on={resource:"api/recommend/sr/"+srnames};return withFilters(on,["omit"])},reddit.subredditsByTopic=function(query){var on={resource:"api/subreddits_by_topic",params:{query:query}};return fetch(on)},reddit.search=function(query,subreddit){var on={subreddit:subreddit,resource:"search",params:{q:query}};return withFilters(on,["after","before","count","limit","restrict_sr","show","sort","syntax","t"])},reddit.searchSubreddits=function(query){return listing({resource:"subreddits/search",params:{q:query}})},reddit.popularSubreddits=function(){return listing({resource:"subreddits/popular"})},reddit.newSubreddits=function(){return listing({resource:"subreddits/new"})},reddit.aboutUser=function(username){return fetch({resource:"user/"+username+"/about"})}}(window); \ No newline at end of file