10.09.2014 08:01
aldemko
 
Доброго времени суток

задался вопросом, флеш баннера, сам баннер готов и функционирует прекрасно.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.


затем решил посмотреть как выглядит сайт с iPad
вроде не плохо смотрится, но баннера нет, сначала ломал голову, а затем вспомнил это же iOS
и тут я решил попробовать использовать условия
если браузер винда и macos и linus то флеш а если iOS то статика, но как прописать именно про браузеры условия.
Подскажите пожалуйста. Спасибо
10.09.2014 08:12
twix
 
Задача встречается часто. Соответственно, и гуглится легко. С наскока:



Use Agents
Код:
Running in UIWebView
Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/98176

Running in Safari on iPad
Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3

Running in Safari on Mac OS X
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.5 Safari/534.55.3

Running in Chrome on Mac OS X
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19

Running in FireFox on Mac OS X
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20100101 Firefox/11.0
Javascript

Код:
var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
var is_safari_or_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit/i.test(navigator.userAgent);
Это касательно проверки на клиенте. Если нужна серверная часть, то точно так же проверяем User Agent.
Пример для похапе:

Код:
$isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');
10.09.2014 08:18
aldemko
 
Да, я уже тоже нагуглил.
пока не дошел до конечного результата
if винда echo флеш
если не винда echo статику

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.



я в правильном направлении хоть ?
из этого можно сделать что если браузеры такие то то вывести тото
если не такие то вывести другое

Хотя браузеры то по сути не причем, на iOS можно и Chrome поставить, флеша все равно не будет


да и пожалуй мне не нужно определять все OS
достаточно определить если iOS то картинка, если нет то флеш


Вот я думаю нашел решение

[php]<?php
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) {
echo 'APPLE';
}
else {
echo 'Не Apple';
}
?>[/php]

с выводом текста получается
а пытаюсь вывести баннер не открывает пол страницы и не ругается ( просто белый экран


подскажите как правильно баннер(флеш) впихнуть если не Apple


ВСЕ :)
я догнал :)
10.09.2014 08:49
OlegON
 
Белый экран - значит упал код, а ты его не привел. Смотри в логе вебсервера, где и какая ошибка.
10.09.2014 08:59
aldemko
 
Вот как вышло у меня

[php] <?php
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) { <!-- Если iphone то статика -->
echo '<img src="/upload/gus.gif"
width="240" height="204" alt="lorem">';
}
else { <!-- В противном случае флеш -->
echo '<object type="application/x-shockwave-flash" data="/upload/banner.swf" width="240" height="200">
<param name="movie" value="/upload/banner.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
</object> ';
}
?>[/php]


Возможно не самая правильная реализация, но работает.

Спасибо за помощь
10.09.2014 09:39
OlegON
 
А почему бы всем статику не показывать?
10.09.2014 09:49
aldemko
 
Ну тоже хороший вопрос, но в одной статике, не покажешь разный текст. Предложения и тд и тп
Можно правда еще в GIF переделать
10.09.2014 09:51
OlegON
 
Просто Flash многие выпиливают, ибо тормозит и глючит. Да и закат уже этой технологии.
10.09.2014 10:13
aldemko
 
Ну с этим согласен. особенно если весь сайт ними усеян. а тут то один малюсенький баннерок вчего
10.09.2014 11:28
OlegON
 
Нет, речь не о том, что на твоем сайте начнут пыхтеть, вырезая. Просто режут весь флеш.
Часовой пояс GMT +3, время: 01:46.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.