diff options
author | rhenium <rhenium@rhe.jp> | 2014-10-06 08:53:22 +0900 |
---|---|---|
committer | rhenium <rhenium@rhe.jp> | 2014-10-06 08:53:22 +0900 |
commit | 5d32ae79c63074de3ab11296e4ebbe7d42f37d3b (patch) | |
tree | d697c5868f0e28efa1360da05782f5b1ef884a26 /app/assets/javascripts | |
parent | 3d1a4777e35618ae56a5e1e4d0d48451ed71c6d7 (diff) | |
download | aclog-5d32ae79c63074de3ab11296e4ebbe7d42f37d3b.tar.gz |
web: introduce Content Security Policy (CSP)
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r-- | app/assets/javascripts/layouts.js.erb | 15 | ||||
-rw-r--r-- | app/assets/javascripts/tweets.js.erb (renamed from app/assets/javascripts/tweets.js) | 3 |
2 files changed, 13 insertions, 5 deletions
diff --git a/app/assets/javascripts/layouts.js.erb b/app/assets/javascripts/layouts.js.erb index fd9b044..f7943dd 100644 --- a/app/assets/javascripts/layouts.js.erb +++ b/app/assets/javascripts/layouts.js.erb @@ -11,12 +11,15 @@ $(function() { if (previousText.length > 0) { $.getJSON("/i/user_jump_suggest.json", { head: previousText }, function(json) { + var menu = $("#user-jump-dropdown .dropdown-menu"); json.forEach(function(s) { - $("#user-jump-dropdown .dropdown-menu") - .append($("<li />").addClass("user-jump-suggestion") - .append($("<a />").attr("href", "/" + s.screen_name).attr("title", s.name + " (@" + s.screen_name + ")") - .append($("<img />").addClass("twitter-icon").attr("src", s.profile_image_url).attr("alt", "@" + s.screen_name).attr("onerror", "this.src = '<%= image_path("profile_image_missing.png") %>'")) - .append($("<span />").text("@" + s.screen_name)))); + var img = $("<img />").addClass("twitter-icon").attr("src", s.profile_image_url).attr("alt", "@" + s.screen_name); + img.on("error", function() { this.src = '<%= image_path("profile_image_missing.png") %>'; }); + + menu.append($("<li />").addClass("user-jump-suggestion") + .append($("<a />").attr("href", "/" + s.screen_name).attr("title", s.name + " (@" + s.screen_name + ")") + .append(img) + .append($("<span />").text("@" + s.screen_name)))); }); }); } @@ -26,4 +29,6 @@ $(function() { window.location = "/" + $("input", this).val(); return false; }); + + $("img.twitter-icon").on("error", function() { this.src = '<%= image_path("profile_image_missing.png") %>'; }); }); diff --git a/app/assets/javascripts/tweets.js b/app/assets/javascripts/tweets.js.erb index 25fa145..659c76b 100644 --- a/app/assets/javascripts/tweets.js +++ b/app/assets/javascripts/tweets.js.erb @@ -5,6 +5,9 @@ Application.tweets = { $(this).text(new Date($(this).attr("datetime")) .toLocaleString()); }); + $("img.twitter-icon", d).each(function() { + $(this).on("error", function() { this.src = '<%= image_path("profile_image_missing.png") %>'; }); + }); }; formatTweet($(".statuses")); |