2014-10-31 2 views
23

Я использую следующий код для съемки фотографий и отображения/хранения. Этот же самый код, работающий отлично в iPhone 5 с iOS 7.1.2, но в iPhone 4S с iOS 8.1 сафари будет сбой каждый раз, когда я делаю фото.Сбой Safari при съемке в iPhone 4S [iOS 8.1]

<body> 
    <img id="uploadPreview" style="width: 100px; height: 100px;"> 
    <input id="uploadImage" type="file" name="myPhoto" onchange="PreviewImage();"> 
    <script type="text/javascript"> 
     function PreviewImage() { 
      var oFReader = new FileReader(); 
      oFReader.readAsDataURL(document.getElementById("uploadImage").files[0]); 
      oFReader.onload = function (oFREvent) { 
       document.getElementById("uploadPreview").src = oFREvent.target.result; 
      }; 
     }; 
    </script> 
</body> 

Demo
После сообщений шоу в сафари после взлета фото

Возникла проблема с этой веб-страницы, так что был перезагружен

Update Теперь я делаю ту же задачу на одном устройстве, но с версией iOS версии 8.1.2. Все еще такая же проблема

+0

ли ** Краш ** или ** Давка ** – Praveenkumar

+0

извините. я имею в виду Crash – Blu

+0

У меня такая же проблема на моем iPhone 4, и у моего босса была такая же проблема на iPhone 5, но после того, как он обновил его до iOS 8.1.1, его проблема была решена; Мой, однако, преподает даже с iOS 8.1.1 – Lukas

ответ

0

Это ошибка, которая, как представляется, происходит в iOS 8.1.2 и 8.1.3. Я смог воспроизвести эту проблему в нескольких сценариях, и я в процессе подачи ошибки с Apple.

Возможные Решение: Позволяет пользователю выбрать несколько файлов, установив

<input type="file" name="img" multiple> 

Это отключает опцию «Сфотографировать», но вы должны поддерживать загрузки нескольких файлов.

В других браузерах, установив атрибут capture позволяет более точно контролировать, действительно ли пользователь может снимать фотографии в рамках выбора файла, но в соответствии с how to disable capture when upload image file (using safari on ipad)он не уважал мобильным сафари.

1

Хотя обновление 8.1 зафиксировано на более новых устройствах, на старых устройствах (первый iPad, iPad Mini, iPhone 4S) проблема все еще существовала. iOS 8.2 не улучшил работу. Однако с выпуском вчера 8 июля проблема была решена. До обновления 8.3 я проверил с iOS 8.2 и с каждым сбоем сафари изображения. Иногда в режиме камеры иногда после съемки. Надеемся, что теперь проблема решена и для других.

Для других устройств восстановление системы разрешило проблему, но также удалило любое приложение, настройки и данные. Не совсем так.

Кода я использовал для тестирования можно найти в этой скрипке: http://jsfiddle.net/d6nwubx3/6/

var inputComponent = document.getElementById('fileuploader'); 
inputComponent.addEventListener('change',handleFileSelect, false); 
function handleFileSelect(event) { 
    var image = event.target.files[0]; 
    // Do something with image 
} 
+1

Я пробовал нашу демоверсию на своем iPhone 6+ с 8.3, и все еще получаю ту же ошибку при съемке фотографии, но работаю с использованием библиотеки фотографий. У нее нет проблем с использованием приложения Google Chrome, но сафари не работает каждый раз. –

+1

Я выяснил, что проблема по-прежнему существует на некоторых устройствах. Энди, не могли бы вы предоставить журнал сбоев (https://developer.apple.com/bug-reporting/ios/crash/)? В настоящее время у меня нет устройства рядом, и Apple хочет журнал сбоев. Было бы здорово. – gjadmiraal

+0

Я переживаю крах (и последующую перезагрузку страницы) на iOS 8.4 на iPhone 6 Plus. Я изменил ваш jsfiddle для воспроизведения, когда он рушится для меня (когда я пытаюсь поместить локальное изображение в ): http://jsbin.com/gowiwe/edit?html,css,js,console,output – jonsibley

Смежные вопросы