質問編集履歴

1

解決策の表示

2018/07/31 06:01

投稿

g-n-n
g-n-n

スコア24

test CHANGED
File without changes
test CHANGED
@@ -2,17 +2,29 @@
2
2
 
3
3
 
4
4
 
5
+ 問題
6
+
5
- imgタグのリンク切れていたの処理として以下のスクリプト用意しまし
7
+ srcが空際と、リンク切れに代替画像表示させい。
6
8
 
7
9
 
8
10
 
11
+ 以下のようにすることで解決いたしました
12
+
9
- ```js
13
+ ```jQuery
10
14
 
11
15
  $(document).ready(function () {
12
16
 
17
+ //srcが空の際、代替画像を表示
18
+
19
+ $('img[src=""]').attr('src', 'data:image/png;base64,...');
20
+
21
+
22
+
23
+ //srcがリンク切れ等エラーの際、代替画像を表示
24
+
13
25
  $('img').on('error', function () {
14
26
 
15
- $(this).attr('src', '404.png');
27
+ $(this).attr('src', 'data:image/png;base64,...');
16
28
 
17
29
  });
18
30
 
@@ -20,42 +32,4 @@
20
32
 
21
33
  ```
22
34
 
23
-
24
-
25
- しかしこれではsrcがそもそも空であった時に反応しないため、空の際の処理を考えているのですが、うまく動きません。
26
-
27
-
28
-
29
- こんな感じだろうかと試してみたのが以下のものになります。
30
-
31
- ```
32
-
33
- $(document).ready(function () {
34
-
35
- $('img').on('error', function () {
36
-
37
- $(this).attr('src', '404.png');
38
-
39
- });
40
-
41
- })
42
-
43
- $(document).ready(function () {
44
-
45
- if ($('img').attr('src', '')) {
46
-
47
- $(this).attr('src', '404.png');
48
-
49
- }
50
-
51
- })
52
-
53
- ```
54
-
55
- この書き方ら多分一つのdocument.readyで動くと思いまが...
35
+ 代替画像が見つからいと無限ループになるため、Data URIを使用る。
56
-
57
-
58
-
59
- しかし動かないどころか、ページのロードが極端に長くなってしまいました...
60
-
61
- 原因と対処の仕方をお願いできますでしょうか