Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Предосмотр выбранного изображения в input

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ex
Отправлено: 12 Апреля, 2015 - 17:01:14
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Есть вот такой скрипт. (Предосмотр выбранного изображения в инпуте. "Pr" массив собирает инфу введенных данных: размер и координаты). На Пк работает нормально, да и на некоторых телефонах тоже. А вот некоторые телефоны не понимают этого.

Подскажите, мб есть другой скрипт, который понимал бы любой телефон.

п.с. на сколько я понял, они не понимают input.files[0], input.files[0].type.match('image.*') и reader
даже если убрать проверку if(input.files&&input.files[0]&&input.files[0].type.match('image.*')) все равно не пашет
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function Pres(){
  3.         Pr=[$('#pr1').val(),$('#pr2').val(),$('#pr3').val()];
  4.         input=$('#ch6')[0];
  5.         if(input.files&&input.files[0]&&input.files[0].type.match('image.*')){
  6.                 reader=new FileReader();
  7.                 reader.onload=function(e){
  8.                         $('.cropIm').css({
  9.                                 'background':'url('+e.target.result+')',
  10.                                 'background-position':'-'+Pr[0]+'px -'+Pr[1]+'px',
  11.                                 'height':''+Pr[2]+'px',
  12.                                 'width':''+Pr[2]+'px'
  13.                         })
  14.                 };
  15.                 reader.readAsDataURL(input.files[0]);
  16.         }
  17. }
  18. $('#pr1, #pr2, #pr3, #ch6').change(function(){Pres()});
  19. $('#prew').click(function(){Pres()});
  20.  

(Отредактировано автором: 12 Апреля, 2015 - 17:03:06)

 
 Top
DelphinPRO
Отправлено: 12 Апреля, 2015 - 19:03:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Если браузер не поддерживает FileApi - ничего вы не сделаете.

Можно конечно по старинке - выбрали картинку, загрузили на сервер (аяксом, псевдо-аяксом) во временную папку, вернули ссылку и показали.
Или проверять наличие поддержки fileApi и хотя выдавать уведомление, что браузер у юзера древний, пора бы обновится.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Ex
Отправлено: 12 Апреля, 2015 - 19:38:01
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Еще прикол в том, что все нормально работало раньше. И с того момента я ничего не менял кроме jq с 2.х на 1.6

А не подскажешь простой способ загрузки файла на сервер аяксом? А то гугл выдает ток крутые километровые скрипты... А мне бы простенький
 
 Top
DelphinPRO
Отправлено: 12 Апреля, 2015 - 22:05:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Простых нет. Опять же из-за того, что не настал тот светлый день, когда файлы можно будет грузить аяксом. Все достигается хитрыми приемчиками, потому и скрипты километровые. Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Ex
Отправлено: 12 Апреля, 2015 - 22:35:57
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




кстати, вот скрипт с проверкой на поддержку Api
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#image').change(function() {
  3.   var input = $(this)[0];
  4.   if ( input.files && input.files[0] ) {
  5.     if ( input.files[0].type.match('image.*') ) {
  6.       var reader = new FileReader();
  7.       reader.onload = function(e) { $('#image_preview').attr('src', e.target.result);xx=e.target.result}
  8.       reader.readAsDataURL(input.files[0]);
  9.     } else console.log('is not image mime type');
  10.   } else console.log('not isset files data or files API not supordet');
  11. });
  12.  

Скрипт почему то не выводит "not isset files data or files API not supordet"

И еще, я делал пару денй назад "зард резет" телефону, то есть снес все под 0, и после этого перестало работать Радость хотя я и до этого ничего не устанавливал и работало все отлично. (юзаю андроивский стандартный браузер)

какая то мистика. Огорчение
 
 Top
DelphinPRO
Отправлено: 12 Апреля, 2015 - 22:54:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Ex пишет:
кстати, вот скрипт с проверкой на поддержку Api

Я бы так проверял

CODE (javascript):
скопировать код в буфер обмена
  1. if (!(window.File && window.FileReader && window.FileList && window.Blob)) {
  2.         console.error('The File APIs are not fully supported in this browser.');
  3. }


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Ex
Отправлено: 13 Апреля, 2015 - 12:29:25
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. if (!(window.File && window.FileReader && window.FileList && window.Blob)) {alert('The File APIs are not fully supported in this browser.');}

да мой браузер на андроиде выдает этот алерт. Т.е. не пашет у меня это...

Но почему оно работало пару недель назад, до хард резета телефона Радость
печалька короче Хм
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB