回答編集履歴

3

再現結果を提示

2016/04/06 05:36

投稿

Yousuck
Yousuck

スコア349

test CHANGED
@@ -1,3 +1,53 @@
1
+ もっとスマートな方法(onloadにonloadって。笑)があるかもしれませんが、下記ならいけました!
2
+
3
+ 新規に作成した画像インスタンスの読み込みが完了したら、サイズを取得しにいくイメージです。
4
+
1
- ません。勘違いをしていたの一旦内容を消去します。
5
+ ※ios chrome(ブラウザ・OSのver.は同じ条件)の検証済みです。
2
6
 
3
7
 
8
+
9
+ ```
10
+
11
+ window.onload = function(){
12
+
13
+ img_width_check(main_img);//画像のid
14
+
15
+ }
16
+
17
+
18
+
19
+ function img_width_check(main_img){
20
+
21
+ //現在表示されているwindow上の画像のwidth
22
+
23
+ var now_width = document.getElementById(main_img).width;
24
+
25
+ alert("nowidth = " + now_width);
26
+
27
+
28
+
29
+ //元画像のサイズを取得
30
+
31
+ var img = new Image();
32
+
33
+ img.src = document.getElementById(main_img).src;
34
+
35
+ //var img_width = img.width;
36
+
37
+ //var img_height = img.height;
38
+
39
+ img.onload = function() {
40
+
41
+ alert("img_width = " + img.width);
42
+
43
+ alert("img_height = " + img.height);
44
+
45
+ }
46
+
47
+ }
48
+
49
+
50
+
51
+ ```
52
+
53
+

2

誤解

2016/04/06 05:36

投稿

Yousuck
Yousuck

スコア349

test CHANGED
@@ -1,53 +1,3 @@
1
- こちらで試したところ、キチンと取得できていましたよ。
2
-
3
- >window.load時に実行されます。
4
-
5
- この部分後で追加されたのでしたら、キャッシュかもしれせん
1
+ すみません。勘違いしていたので一旦内容を消去しま
6
-
7
- もしくはスクリプトを</body>直上に置くと良いかもしれません。
8
2
 
9
3
 
10
-
11
- 一応試したスクリプトを載せておきますね。
12
-
13
-
14
-
15
- ```
16
-
17
- window.onload = function(){
18
-
19
- var main_img = "test";
20
-
21
- img_width_check(main_img);
22
-
23
- function img_width_check(main_img){
24
-
25
- //現在表示されているwindow上の画像のwidth
26
-
27
- var width =document.getElementById(main_img).width;
28
-
29
-
30
-
31
- //元画像のサイズを取得
32
-
33
- var img = new Image();
34
-
35
- img.src = document.getElementById(main_img).src;
36
-
37
- var img_width = img.width;
38
-
39
- var img_height = img.height;
40
-
41
-
42
-
43
- alert(img_width);
44
-
45
- alert(img_height);
46
-
47
- }
48
-
49
-
50
-
51
- };
52
-
53
- ```

1

書式の改善

2016/04/05 09:16

投稿

Yousuck
Yousuck

スコア349

test CHANGED
@@ -1,19 +1,53 @@
1
1
  こちらで試したところ、キチンと取得できていましたよ。
2
2
 
3
+ >window.load時に実行されます。
4
+
3
- ので、対象画像がだ読み込まれていない時に取得しにいっているポイです
5
+ 部分を後追加されたのでしたらキャッシュかもしれせん
6
+
7
+ もしくはスクリプトを</body>直上に置くと良いかもしれません。
4
8
 
5
9
 
6
10
 
7
- ・ご提示のスクリプトを対象画像の後に読み込れるように
11
+ 一応試したスクリプトを載せておきますね。
8
-
9
- →</body>の直上に挿入する
10
-
11
- もしくは、
12
-
13
- →window.onload = function(){}内にご提示のスクリプトを入れてみる
14
-
15
- などなど
16
12
 
17
13
 
18
14
 
15
+ ```
16
+
17
+ window.onload = function(){
18
+
19
- ※修正しても変わらない場合は、キャッシュが残っているかもです。
19
+ var main_img = "test";
20
+
21
+ img_width_check(main_img);
22
+
23
+ function img_width_check(main_img){
24
+
25
+ //現在表示されているwindow上の画像のwidth
26
+
27
+ var width =document.getElementById(main_img).width;
28
+
29
+
30
+
31
+ //元画像のサイズを取得
32
+
33
+ var img = new Image();
34
+
35
+ img.src = document.getElementById(main_img).src;
36
+
37
+ var img_width = img.width;
38
+
39
+ var img_height = img.height;
40
+
41
+
42
+
43
+ alert(img_width);
44
+
45
+ alert(img_height);
46
+
47
+ }
48
+
49
+
50
+
51
+ };
52
+
53
+ ```