diff options
author | Aaron Parecki <aaron@parecki.com> | 2015-07-25 03:41:53 -0700 |
---|---|---|
committer | Aaron Parecki <aaron@parecki.com> | 2015-07-25 03:41:53 -0700 |
commit | 60830007641c985c11c8ac8f609aab735dd84a96 (patch) | |
tree | af8f910c3d6d555f99002b347012b7e539b2aabc | |
parent | 91307d4a362a8fab0022aba19ab74bec9cb46f8f (diff) |
replace "favorite" bookmarklet
Twitter changed some XSS security settings which prevents Quill from injecting JS onto the page for the inline "favorite" button. This change makes it open the "favorite" screen in a new window.
-rw-r--r-- | views/new-favorite.php | 22 | ||||
-rw-r--r-- | views/partials/bookmark-bookmarklet.php | 1 | ||||
-rw-r--r-- | views/partials/favorite-bookmarklet.php | 13 |
3 files changed, 21 insertions, 15 deletions
diff --git a/views/new-favorite.php b/views/new-favorite.php index 7b19350..14af8e2 100644 --- a/views/new-favorite.php +++ b/views/new-favorite.php @@ -22,7 +22,7 @@ <div style="clear: both;"></div> <hr> - <div style="text-align: right;"> + <div style="text-align: right;" id="bookmarklet"> Bookmarklet: <a href="javascript:<?= js_bookmarklet('partials/favorite-bookmarklet', $this) ?>" class="btn btn-default btn-xs">favorite</a> </div> @@ -31,6 +31,12 @@ <script> $(function(){ + var autosubmit = window.location.search.match('autosubmit=true'); + + if(autosubmit) { + $(".footer, #bookmarklet").hide(); + } + // ctrl-s to save $(window).on('keydown', function(e){ if(e.keyCode == 83 && e.ctrlKey){ @@ -52,9 +58,13 @@ $(function(){ if(response.location != false) { - $("#test_success").removeClass('hidden'); - $("#test_error").addClass('hidden'); - $("#post_href").attr("href", response.location); + if(autosubmit) { + $("#btn_post").hide(); + } else { + $("#test_success").removeClass('hidden'); + $("#test_error").addClass('hidden'); + $("#post_href").attr("href", response.location); + } window.location = response.location; } else { @@ -66,6 +76,10 @@ $(function(){ return false; }); + if(autosubmit) { + $("#btn_post").click(); + } + bind_syndication_buttons(); }); diff --git a/views/partials/bookmark-bookmarklet.php b/views/partials/bookmark-bookmarklet.php index 0dfd916..9799bd8 100644 --- a/views/partials/bookmark-bookmarklet.php +++ b/views/partials/bookmark-bookmarklet.php @@ -2,4 +2,3 @@ var t;try{t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));}catch(e){t="";}; window.location="<?= Config::$base_url ?>bookmark?url="+encodeURIComponent(window.location.href)+"&content="+encodeURIComponent((t == '' ? '' : '"'+t+'"'))+"&name="+encodeURIComponent(document.title)+"&token=<?= $this->token ?>"; })(); - diff --git a/views/partials/favorite-bookmarklet.php b/views/partials/favorite-bookmarklet.php index e4d27bd..bdee851 100644 --- a/views/partials/favorite-bookmarklet.php +++ b/views/partials/favorite-bookmarklet.php @@ -1,10 +1,3 @@ -var quill_popup=function(){ - window.open(document.getElementById('quill-script').src.replace('favorite.js?','favorite-popup?'),'quill-like', 'status=no,directories=no,location=no,resizable=no,menubar=no,width=300,height=200,toolbar=no'); -}; -(function(){ - var quill=document.createElement('script'); - quill.src='<?= Config::$base_url ?>favorite.js?url='+encodeURIComponent(window.location)+'&token=<?= $this->token ?>'; - quill.setAttribute('id','quill-script'); - quill.setAttribute('onerror', 'quill_popup()'); - document.body.appendChild(quill); -})();
\ No newline at end of file +(function(){ + window.open("<?= Config::$base_url ?>favorite?url="+encodeURIComponent(window.location.href)+"&autosubmit=true&token=<?= $this->token ?>"); +})(); |