teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2016/12/22 10:05

投稿

yambejp
yambejp

スコア117877

answer CHANGED
@@ -12,18 +12,25 @@
12
12
  なんどか再読込するとたしかに動作が不安定なようですね
13
13
  あまり頭がいい方法ではないかもしれませんが、バックグラウンドで
14
14
  ajaxで読み込んでerror時に処理してみてはどうでしょう?
15
+
15
16
  ```HTML
17
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
18
+ <script>
16
19
  $(function(){
17
20
  $('img').each(function(){
18
21
  var obj=$(this);
19
22
  var src=$(this).prop('src');
20
23
  $.ajax({
21
24
  url:src,
22
- error:function(){
25
+ error:function(x,t,e){
26
+ if(e=="Not Found"){
23
- obj.attr('alt','error');
27
+ obj.attr('alt','error');
28
+ }
24
29
  },
25
30
  });
26
31
  });
27
32
  });
28
-
33
+ </script>
34
+ <img src="not_exist.jpg" alt="test">
35
+ <img src="exist.jpg" alt="test">
29
36
  ```

1

追記

2016/12/22 10:05

投稿

yambejp
yambejp

スコア117877

answer CHANGED
@@ -6,4 +6,24 @@
6
6
  });
7
7
  });
8
8
 
9
+ ```
10
+
11
+ # 追記
12
+ なんどか再読込するとたしかに動作が不安定なようですね
13
+ あまり頭がいい方法ではないかもしれませんが、バックグラウンドで
14
+ ajaxで読み込んでerror時に処理してみてはどうでしょう?
15
+ ```HTML
16
+ $(function(){
17
+ $('img').each(function(){
18
+ var obj=$(this);
19
+ var src=$(this).prop('src');
20
+ $.ajax({
21
+ url:src,
22
+ error:function(){
23
+ obj.attr('alt','error');
24
+ },
25
+ });
26
+ });
27
+ });
28
+
9
29
  ```