diff options
author | Brion Vibber <brion@pobox.com> | 2010-04-03 10:08:13 -0700 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-04-03 10:13:32 -0700 |
commit | d3e47797485d671bd6f806cd0ba72f499e049a66 (patch) | |
tree | 5961e3504f3d34b4eebce970289a7037d8d4ec97 /doc-src | |
parent | ec24f283dd6f1371125c042529f571645a5f13fa (diff) |
Ticket #2273: Fix bookmarklet with URls with special characters
The tartget page's URL was not being URL-escaped when passed as a parameter into the query string. Result was that any URL-encoded bytes in the link would be unescaped and interpreted as raw UTF-8 when our bookmarklet post target page reads its parameters; this would break 8-bit high characters (eg a Latin-1 %FC turning into a corrupt UTF-8 byte) or reserved chars that needed to be kept escaped (eg a %3F turning into literal ?)
Unfortunately as this was a bug in the original bookmarklet's JS code, this'll only fix it for people who grab a fresh copy of the bookmarklet.
Diffstat (limited to 'doc-src')
-rw-r--r-- | doc-src/bookmarklet | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/doc-src/bookmarklet b/doc-src/bookmarklet index bab0ad445..ae359d2db 100644 --- a/doc-src/bookmarklet +++ b/doc-src/bookmarklet @@ -2,4 +2,4 @@ A bookmarklet is a small piece of javascript code used as a bookmark. This one w Drag-and-drop the following link to your bookmarks bar or right-click it and add it to your browser favorites to keep it handy. -<a href="javascript:(function(){var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://%%site.server%%/%%site.path%%/index.php?action=bookmarklet',l=d.location,e=encodeURIComponent,g=f+'&status_textarea=%E2%80%9C'+((e(s))?e(s):e(document.title))+'%E2%80%9D%20%E2%80%94%20'+l.href;function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=450,height=200')){l.href=g;}}a();})()">Post to %%site.name%%</a> +<a href="javascript:(function(){var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://%%site.server%%/%%site.path%%/index.php?action=bookmarklet',l=d.location,e=encodeURIComponent,g=f+'&status_textarea=%E2%80%9C'+((e(s))?e(s):e(document.title))+'%E2%80%9D%20%E2%80%94%20'+e(l.href);function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=450,height=200')){l.href=g;}}a();})()">Post to %%site.name%%</a> |