回答編集履歴

2

修正

2016/12/22 10:05

投稿

yambejp
yambejp

スコア115010

test CHANGED
@@ -26,7 +26,13 @@
26
26
 
27
27
  ajaxで読み込んでerror時に処理してみてはどうでしょう?
28
28
 
29
+
30
+
29
31
  ```HTML
32
+
33
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
34
+
35
+ <script>
30
36
 
31
37
  $(function(){
32
38
 
@@ -40,9 +46,13 @@
40
46
 
41
47
  url:src,
42
48
 
43
- error:function(){
49
+ error:function(x,t,e){
44
50
 
51
+ if(e=="Not Found"){
52
+
45
- obj.attr('alt','error');
53
+ obj.attr('alt','error');
54
+
55
+ }
46
56
 
47
57
  },
48
58
 
@@ -52,6 +62,10 @@
52
62
 
53
63
  });
54
64
 
65
+ </script>
55
66
 
67
+ <img src="not_exist.jpg" alt="test">
68
+
69
+ <img src="exist.jpg" alt="test">
56
70
 
57
71
  ```

1

追記

2016/12/22 10:05

投稿

yambejp
yambejp

スコア115010

test CHANGED
@@ -15,3 +15,43 @@
15
15
 
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ # 追記
22
+
23
+ なんどか再読込するとたしかに動作が不安定なようですね
24
+
25
+ あまり頭がいい方法ではないかもしれませんが、バックグラウンドで
26
+
27
+ ajaxで読み込んでerror時に処理してみてはどうでしょう?
28
+
29
+ ```HTML
30
+
31
+ $(function(){
32
+
33
+ $('img').each(function(){
34
+
35
+ var obj=$(this);
36
+
37
+ var src=$(this).prop('src');
38
+
39
+ $.ajax({
40
+
41
+ url:src,
42
+
43
+ error:function(){
44
+
45
+ obj.attr('alt','error');
46
+
47
+ },
48
+
49
+ });
50
+
51
+ });
52
+
53
+ });
54
+
55
+
56
+
57
+ ```