author | Michael Krelin <hacker@klever.net> | 2006-10-02 19:51:26 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2006-10-02 19:51:26 (UTC) |
commit | 5ebff6dee62ada9c0559f65381ccd92892911151 (patch) (side-by-side diff) | |
tree | ca36d8fd3da98846eda11d38cc049ff6dd8c5915 /content | |
parent | b568e40a49d810d49bcc4af3bcb81ee1812627a5 (diff) | |
download | fireflix-5ebff6dee62ada9c0559f65381ccd92892911151.zip fireflix-5ebff6dee62ada9c0559f65381ccd92892911151.tar.gz fireflix-5ebff6dee62ada9c0559f65381ccd92892911151.tar.bz2 |
preparse photo descriptions to avoid breaking things because of invalid html in description
git-svn-id: http://svn.klever.net/kin/fireflix/trunk@181 fe716a7a-6dde-0310-88d9-d003556173a8
-rw-r--r-- | content/fireflix.js | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/content/fireflix.js b/content/fireflix.js index 92c42f4..966630c 100644 --- a/content/fireflix.js +++ b/content/fireflix.js @@ -795,16 +795,22 @@ var fireflix = { this.search_page.hidden=false; this.cmd_search_prev_page.setAttribute('disabled',(this.paging.page>1)?'false':'true'); this.cmd_search_next_page.setAttribute('disabled',(this.paging.page<this.paging.pages)?'false':'true'); } }, render_description_frame: function(content) { - if(!content) { - this.searchresult_description.innerHTML = ''; - }else{ - this.searchresult_description.innerHTML = content?content:''; + this.searchresult_description.innerHTML = ''; + if(content) { + var dp = new DOMParser(); + var pd = dp.parseFromString( + '<div xmlns="http://www.w3.org/1999/xhtml">'+content+'</div>', 'text/xml' ); + var de = pd.documentElement; + if(de.tagName=='parsererror') + this.searchresult_description.innerHTML=this.fireflix.loc_strings.getString('broken_description'); + else + this.searchresult_description.appendChild(de); /* of all linking elements flickr only allows a */ var as = this.searchresult_description.getElementsByTagName('a'); for(var a=0;a<as.length;++a) as.item(a).setAttribute('target','_blank'); } }, |