SHOW:
|
|
- or go back to the newest paste.
1 | Ever wanted to use Daring Fireball with Comments (http://daringfireballwithcomments.net) on your iPad? | |
2 | ||
3 | VERSION 2 - because i make misstakes. | |
4 | ||
5 | Create a bookmark and paste the following code into it. Then just visit daringfireball.net and hit the bookmark. You get comment indicators on the posts. | |
6 | Just tap one of them, when loaded just use the bookmark again to load the comments. | |
7 | ||
8 | This code is shit, but it works. | |
9 | ||
10 | It contains som stuff not made by be: | |
11 | ||
12 | jQuery Cookie Plugin v1.3 | |
13 | https://github.com/carhartl/jquery-cookie | |
14 | Copyright 2011, Klaus Hartl | |
15 | licensed under the MIT or GPL Version 2 licenses | |
16 | Used because I'm too lazy to do cookies with pure JS. | |
17 | ||
18 | jQuery.ajax mid - CROSS DOMAIN AJAX | |
19 | James Padolsey (http://james.padolsey.com) | |
20 | Used to fetch data from a source that is not JSONP-compatible from a different domain. | |
21 | ||
22 | The original Daring Fireball with Comments extension for Safari | |
23 | Bits of it, modified for jQuery. | |
24 | ||
25 | It loads jQuery from google (because I'm to lazy to bother writing pure JS). | |
26 | ||
27 | All JSON-data is pulled from daringfireballwithcomments.net through query.yahooapis.com because daringfireballwithcomments.net does not return JSONP. | |
28 | ||
29 | Do with this what you like. I am not responsible for any shit that happens. | |
30 | ||
31 | Enjoy. | |
32 | - | javascript:(function(){(function(){var v="1.4.1";if(window.jQuery===undefined||window.jQuery.fn.jquery<v){var done=false;var script=document.createElement("script");script.src="http://ajax.googleapis.com/ajax/libs/jquery/"+v+"/jquery.min.js";script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;initMyBookmarklet()}};document.getElementsByTagName("head")[0].appendChild(script)}else{initMyBookmarklet()}function initMyBookmarklet(){(window.myBookmarklet=function(){jQuery.ajax=(function(_ajax){var protocol=location.protocol,hostname=location.hostname,exRegex=RegExp(protocol+'//'+hostname),YQL='http'+(/^https/.test(protocol)?'s':'')+'://query.yahooapis.com/v1/public/yql?callback=?',query='select * from html where url="{URL}" and xpath="*"';function isExternal(url){return!exRegex.test(url)&&/:\/\//.test(url)}return function(o){var url=o.url;if(/get/i.test(o.type)&&!/json/i.test(o.dataType)&&isExternal(url)){o.url=YQL;o.dataType='json';o.data={q:query.replace('{URL}',url+(o.data?(/\?/.test(url)?'&':'?')+jQuery.param(o.data):'')),format:'xml'};if(!o.success&&o.complete){o.success=o.complete;delete o.complete}o.success=(function(_success){return function(data){if(_success){_success.call(this,{responseText:(data.results[0]||'').replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi,'')},'success')}}})(o.success)}return _ajax.apply(this,arguments)}})(jQuery.ajax);(function($,document,undefined){var pluses=/\+/g;function raw(s){return s}function decoded(s){return decodeURIComponent(s.replace(pluses,' '))}var config=$.cookie=function(key,value,options){if(value!==undefined){options=$.extend({},config.defaults,options);if(value===null){options.expires=-1}if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days)}value=config.json?JSON.stringify(value):String(value);return(document.cookie=[encodeURIComponent(key),'=',config.raw?value:encodeURIComponent(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''))}var decode=config.raw?raw:decoded;var cookies=document.cookie.split('; ');for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split('=');if(decode(parts.shift())===key){var cookie=decode(parts.join('='));return config.json?JSON.parse(cookie):cookie}}return null};config.defaults={};$.removeCookie=function(key,options){if($.cookie(key)!==null){$.cookie(key,null,options);return true}return false}})(jQuery,document);jQuery('<style type="text/css">#Banner{position:relative}#Banner a{position:relative;width:347px;height:80px;display:block}#Banner a img{z-index:100}#Banner a .withComments{position:absolute;top:0;left:0;background-image:url(logo_overlay.png);width:347px;height:80px}#Banner img:hover{background-color:transparent!important}#Banner a:hover{background-color:#555e66!important}.article.comments{margin-top:0!important}#Main .permalink{font-size:10px!important;color:#cdcdcd!important;padding:6px 7px 5px 7px!important;font-family:Verdana,"Bitstream Vera Sans",sans-serif!important}#Main .permalink img{border:0 solid transparent!important;margin-bottom:-4px!important}#Main .article .permalink{margin:0 0 0 -7px!important;padding:8px 7px 5px 7px!important}dl.commentsMinusShutup dt a:link,dl.commentsMinusShutup dt a:visited{border-bottom:0!important}dl.commentsMinusShutup dd{margin:auto auto 1em .2em!important}dl.commentsMinusShutup dd .comment{border-left:1px solid #777!important;padding-left:1em!important}dl.commentsMinusShutup dd .smallprint:link,dl.commentsMinusShutup dd .smallprint:visited{display:block!important;margin:-.7em 0 0 -.6em!important;text-decoration:none!important;border-bottom:none!important;font-size:10px!important;color:#ccc!important;padding:3px!important}dl.commentsMinusShutup dd .smallprint:hover{background:none!important;border-bottom:none!important}form input.name,form input.website{text-transform:none!important;letter-spacing:0!important;width:204px!important;margin:3px 0!important;left:0!important}textarea{background-color:#ddd!important;width:204px!important;height:200px!important;margin:3px 0!important}.dfwcindex .article .permalink{display:block}.withComments,.comments{display:block!important}</style>').appendTo("head");function addComment(dl,id,name,text,date){var anchor=document.createElement('a');anchor.name='comment'+id;dl.appendChild(anchor);var dt=document.createElement('dt');dt.innerHTML=name;dl.appendChild(dt);var dd=document.createElement('dd');var comdiv=document.createElement('div');comdiv.className='comment';comdiv.innerHTML=text;dd.appendChild(comdiv);var a=document.createElement('a');a.href=document.location.pathname+"#comment"+id;a.className='smallprint';a.innerHTML='★ <em>'+date+'</em>';dd.appendChild(a);dt.appendChild(dd)}function addCommentCounts(data){$('.permalink').each(function(i){$e=jQuery(this);console.log($e.attr('href'));var x=$e.attr('href').replace('http://daringfireball.net','');console.log(data[x]);if(data[x]==1)$e.html(''+data[x]+' comment');else if(data[x])$e.html(''+data[x]+' comments');else $e.html('Comments');$e.attr('href',$e.attr('href')+"#comments")})}var ver=2;if($('.ookiaks').length>0){jQuery.ajax({url:'http://daringfireballwithcomments.net/commentcounts',data:{version:ver},type:'get',success:function(json){addCommentCounts(jQuery.parseJSON(jQuery(json.responseText).text())[0])},error:function(){alert("Error")},})}else if(document.location.pathname.indexOf('/linked/')>-1||jQuery('#PreviousNext')){jQuery('body').addClass('dfwcarticle');var areadiv=document.createElement('div');areadiv.className='article comments';var anchor=document.createElement('a');anchor.name='comments';areadiv.appendChild(anchor);var h1=document.createElement('h1');h1.innerHTML='Comments';areadiv.appendChild(h1);dl=document.createElement('dl');dl.id='DFWC';dl.className='commentsMinusShutup';areadiv.appendChild(dl);var form=document.createElement('form');form.action='http://daringfireballwithcomments.net/comment?version='+ver;form.method='post';form.innerHTML='<fieldset style="text-align:center;"><legend>Leave a Comment</legend><table style="margin: 0 auto 1em auto;"><tr><td align="right"><label for="name">Name (optional):</label></td> <td valign="top"><input type="text" name="name" class="name" value="" /></td></tr><tr><td align="right"><label for="website">Website (optional):</label></td> <td valign="top"><input type="text" name="website" class="website" value="" /></td></tr><tr valign="top"><td align="right"><label for="comment" style="display: block; margin-top: .4em;">Comment:</label></td> <td><textarea name="comment"></textarea></td></tr></table><p><input type="submit" name="submit_comment" value="Leave a Comment" style="width: 10em;" /></p></fieldset>';if(jQuery.cookie('name'))jQuery(form).find('.name').val()=jQuery.cookie('name');if(jQuery.cookie('website'))jQuery(form).find('.website').val()=jQuery.cookie.read('website');jQuery(form).submit(function(){jQuery.cookie('name',jQuery(form).find('.name').val(),{path:'/',duration:60});jQuery.cookie('website',jQuery(form).find('.website').val(),{path:'/',duration:60});return true});var permainput=document.createElement('input');permainput.type='hidden';permainput.name='permalink';permainput.value=document.location.pathname;form.appendChild(permainput);areadiv.appendChild(form);if(jQuery('#PreviousNext'))h1.style.marginTop='100px';jQuery('#Main #Footer').before(areadiv);jQuery.ajax({url:'http://daringfireballwithcomments.net/comments'+document.location.pathname+'',data:{version:ver},type:'get',success:function(data){json=data.responseText;json=json.replace(/\r\n/g,'');json=json.replace(/\s+/g," ");json=json.replace(/<\/p>\s<p>/g,'<p>');json=json.replace(/<\\\/p>/g,'</p>');json=json.replace('<html> <head> <meta content="HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" name="generator"/> <title/> </head> <body> <p>','');json=json.replace('</p> </body> </html>','');var comments=(jQuery.parseJSON(json));for(var i=0;i<comments.length;i++){addComment(dl,comments[i].id,comments[i].name,comments[i].text,comments[i].date)}},error:function(){alert("Error")},})}})()}})();})(); |
32 | + | |
33 | ||
34 | javascript:(function(){var v="1.4.1";if(window.jQuery===undefined||window.jQuery.fn.jquery<v){var done=false;var script=document.createElement("script");script.src="http://ajax.googleapis.com/ajax/libs/jquery/"+v+"/jquery.min.js";script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;initMyBookmarklet()}};document.getElementsByTagName("head")[0].appendChild(script)}else{initMyBookmarklet()}function initMyBookmarklet(){(window.myBookmarklet=function(){jQuery.ajax=(function(_ajax){var protocol=location.protocol,hostname=location.hostname,exRegex=RegExp(protocol+'//'+hostname),YQL='http'+(/^https/.test(protocol)?'s':'')+'://query.yahooapis.com/v1/public/yql?callback=?',query='select * from html where url="{URL}" and xpath="*"';function isExternal(url){return!exRegex.test(url)&&/:\/\//.test(url)}return function(o){var url=o.url;if(/get/i.test(o.type)&&!/json/i.test(o.dataType)&&isExternal(url)){o.url=YQL;o.dataType='json';o.data={q:query.replace('{URL}',url+(o.data?(/\?/.test(url)?'&':'?')+jQuery.param(o.data):'')),format:'xml'};if(!o.success&&o.complete){o.success=o.complete;delete o.complete}o.success=(function(_success){return function(data){if(_success){_success.call(this,{responseText:(data.results[0]||'').replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi,'')},'success')}}})(o.success)}return _ajax.apply(this,arguments)}})(jQuery.ajax);(function($,document,undefined){var pluses=/\+/g;function raw(s){return s}function decoded(s){return decodeURIComponent(s.replace(pluses,' '))}var config=$.cookie=function(key,value,options){if(value!==undefined){options=$.extend({},config.defaults,options);if(value===null){options.expires=-1}if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days)}value=config.json?JSON.stringify(value):String(value);return(document.cookie=[encodeURIComponent(key),'=',config.raw?value:encodeURIComponent(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''))}var decode=config.raw?raw:decoded;var cookies=document.cookie.split('; ');for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split('=');if(decode(parts.shift())===key){var cookie=decode(parts.join('='));return config.json?JSON.parse(cookie):cookie}}return null};config.defaults={};$.removeCookie=function(key,options){if($.cookie(key)!==null){$.cookie(key,null,options);return true}return false}})(jQuery,document);jQuery('<style type="text/css">#Banner{position:relative}#Banner a{position:relative;width:347px;height:80px;display:block}#Banner a img{z-index:100}#Banner a .withComments{position:absolute;top:0;left:0;background-image:url(logo_overlay.png);width:347px;height:80px}#Banner img:hover{background-color:transparent!important}#Banner a:hover{background-color:#555e66!important}.article.comments{margin-top:0!important}#Main .permalink{font-size:10px!important;color:#cdcdcd!important;padding:6px 7px 5px 7px!important;font-family:Verdana,"Bitstream Vera Sans",sans-serif!important}#Main .permalink img{border:0 solid transparent!important;margin-bottom:-4px!important}#Main .article .permalink{margin:0 0 0 -7px!important;padding:8px 7px 5px 7px!important}dl.commentsMinusShutup dt a:link,dl.commentsMinusShutup dt a:visited{border-bottom:0!important}dl.commentsMinusShutup dd{margin:auto auto 1em .2em!important}dl.commentsMinusShutup dd .comment{border-left:1px solid #777!important;padding-left:1em!important}dl.commentsMinusShutup dd .smallprint:link,dl.commentsMinusShutup dd .smallprint:visited{display:block!important;margin:-.7em 0 0 -.6em!important;text-decoration:none!important;border-bottom:none!important;font-size:10px!important;color:#ccc!important;padding:3px!important}dl.commentsMinusShutup dd .smallprint:hover{background:none!important;border-bottom:none!important}form input.name,form input.website{text-transform:none!important;letter-spacing:0!important;width:204px!important;margin:3px 0!important;left:0!important}textarea{background-color:#ddd!important;width:204px!important;height:200px!important;margin:3px 0!important}.dfwcindex .article .permalink{display:block}.withComments,.comments{display:block!important}</style>').appendTo("head");function addComment(dl,id,name,text,date){var anchor=document.createElement('a');anchor.name='comment'+id;dl.appendChild(anchor);var dt=document.createElement('dt');dt.innerHTML=name;dl.appendChild(dt);var dd=document.createElement('dd');var comdiv=document.createElement('div');comdiv.className='comment';comdiv.innerHTML=text;dd.appendChild(comdiv);var a=document.createElement('a');a.href=document.location.pathname+"#comment"+id;a.className='smallprint';a.innerHTML='★ <em>'+date+'</em>';dd.appendChild(a);dt.appendChild(dd)}function addCommentCounts(data){$('.permalink').each(function(i){$e=jQuery(this);console.log($e.attr('href'));var x=$e.attr('href').replace('http://daringfireball.net','');console.log(data[x]);if(data[x]==1)$e.html(''+data[x]+' comment');else if(data[x])$e.html(''+data[x]+' comments');else $e.html('Comments');$e.attr('href',$e.attr('href')+"#comments")})}var ver=2;if($('.ookiaks').length>0){jQuery.ajax({url:'http://daringfireballwithcomments.net/commentcounts',data:{version:ver},type:'get',success:function(json){addCommentCounts(jQuery.parseJSON(jQuery(json.responseText).text())[0])},error:function(){alert("Error")},})}else if(document.location.pathname.indexOf('/linked/')>-1||jQuery('#PreviousNext')){jQuery('body').addClass('dfwcarticle');var areadiv=document.createElement('div');areadiv.className='article comments';var anchor=document.createElement('a');anchor.name='comments';areadiv.appendChild(anchor);var h1=document.createElement('h1');h1.innerHTML='Comments';areadiv.appendChild(h1);dl=document.createElement('dl');dl.id='DFWC';dl.className='commentsMinusShutup';areadiv.appendChild(dl);var form=document.createElement('form');form.action='http://daringfireballwithcomments.net/comment?version='+ver;form.method='post';form.innerHTML='<fieldset style="text-align:center;"><legend>Leave a Comment</legend><table style="margin: 0 auto 1em auto;"><tr><td align="right"><label for="name">Name (optional):</label></td> <td valign="top"><input type="text" name="name" class="name" value="" /></td></tr><tr><td align="right"><label for="website">Website (optional):</label></td> <td valign="top"><input type="text" name="website" class="website" value="" /></td></tr><tr valign="top"><td align="right"><label for="comment" style="display: block; margin-top: .4em;">Comment:</label></td> <td><textarea name="comment"></textarea></td></tr></table><p><input type="submit" name="submit_comment" value="Leave a Comment" style="width: 10em;" /></p></fieldset>';if(jQuery.cookie('name'))jQuery(form).find('.name').val(jQuery.cookie('name'));if(jQuery.cookie('website'))jQuery(form).find('.website').val(jQuery.cookie('website'));jQuery(form).submit(function(){jQuery.cookie('name',jQuery(form).find('.name').val(),{path:'/',duration:60});jQuery.cookie('website',jQuery(form).find('.website').val(),{path:'/',duration:60});return true});var permainput=document.createElement('input');permainput.type='hidden';permainput.name='permalink';permainput.value=document.location.pathname;form.appendChild(permainput);areadiv.appendChild(form);if(jQuery('#PreviousNext'))h1.style.marginTop='100px';jQuery('#Main #Footer').before(areadiv);jQuery.ajax({url:'http://daringfireballwithcomments.net/comments'+document.location.pathname+'',data:{version:ver},type:'get',success:function(data){json=data.responseText;json=json.replace(/\r\n/g,'');json=json.replace(/\s+/g," ");json=json.replace(/<\/p>\s<p>/g,'<p>');json=json.replace(/<\\\/p>/g,'</p>');json=json.replace('<html> <head> <meta content="HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" name="generator"/> <title/> </head> <body> <p>','');json=json.replace('</p> </body> </html>','');var comments=(jQuery.parseJSON(json));for(var i=0;i<comments.length;i++){addComment(dl,comments[i].id,comments[i].name,comments[i].text,comments[i].date)}},error:function(){alert("Error")},})}})()}})(); |