iPhone/iPad에서 SVG를 표시하려고합니다. 이 코드는 ASP.Net 페이지에서 실행 중입니다. Raphael을 사용하여 그래픽과 Raphael이 처리하는 다른 모든 재즈를 표시합니다. 그러나 iOS에서 실제로 실행되지 않는 코드가 있습니다.iOS에서 HTML/jQuery onload/load가 실행되지 않습니다.
img = new Image();
//img.onload = function() { drawLayersWhenAllAreLoaded(); };
if (img.addEventListener) {
img.addEventListener('load', drawLayersWhenAllAreLoaded, false);
}
else {
img.attachEvent("onload", function() { return (drawLayersWhenAllAreLoaded.call(img, window.event)); });
}
img.src = files[i];
Windows의 Chrome, Firefox 및 Safari에서이를 테스트했으며 훌륭하게 작동합니다. Mac OS X의 Chrome, Firefox 및 Safari에서이 기능을 테스트했으며 훌륭하게 작동합니다. 그러나 iOS에서 실행할 때 (iOS 6 또는 iOS 7이 iPhone이나 iPad와 상관이 없다면) drawLayersWhenAllAreLoaded
기능이 실행되지 않습니다. 실행되지 않으면 이미지가 화면에 표시되지 않습니다.
테스트 한 최종 코드입니다. iOS를 확인하지 않은 것을 테스트했습니다. 방금 img.onload
을 사용하여 테스트했습니다. 나는 단지 img.addEventListener
을 사용해 보았습니다. 이 코드의 모든 버전을 가장 간단한 것에서 가장 복잡한 것까지 시도해 본 결과, 전혀 작동하지 않습니다. drawLayersWhenAllAreLoaded
에 알림을 걸면 위의 모든 브라우저에 표시되지만 iOS에는 표시되지 않습니다.
제 생각에 이미지의 src
을 HTML/jQuery에 설정하면 이미지가로드됩니다. 이미지가 상당히 클 수 있으므로 drawLayersWhenAllAreLoaded
을 호출하기 전에 모두로드 될 때까지 기다려야합니다 (이 코드는 반복적 인 이미지로드).
나는 비슷한 것을 찾고 몇 시간 동안 Google을 검색했지만 아무 것도 찾을 수 없었습니다. 아무도이 문제에 다시 뛰어든 지 궁금하거나 내가 잘못하고있는 것을 보지 않습니까?
감사합니다.
가 편집 : 더 많은 테스트 후
을 내 drawLayersWhenAllAreLoaded
한 번만 칠 수 있지만 않는 것으로 확인되었습니다. 현재 32 개의 이미지를로드하려고합니다. 이미지를로드하는 코드는 iOS에서 32 회 실행되지만 (경고를 추가 할 때마다 표시됨), drawLayersWhenAllAreLoaded
은 한 번만 호출됩니다.