Предотвращение ненужных HTTP-запросов для iPhone версии сайта - PullRequest
1 голос
/ 17 января 2010

У меня есть сайт. Он использует jQuery, несколько плагинов, Cufon и т. Д., Чтобы немного оживить, в основном визуально.

Версия iPhone не нуждается ни в одном из этих файлов.

Можно ли, не прибегая к поддоменам, запретить iPhone загружать эти скрипты?

<script src="js/jquery-1.4.min.js" type="text/javascript"></script>
<script src="js/browsersupport.js" type="text/javascript"></script>
<script src="js/jquery.easing.custom.js" type="text/javascript"></script>
<script src="js/jquery.color.custom.js" type="text/javascript"></script>
<script src="js/jquery.sound.js" type="text/javascript"></script>

<script src="fonts/cufon.js" type="text/javascript"></script>
<script src="fonts/trgo.font.js" type="text/javascript"></script>

Edit:

Использование такой библиотеки: http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

Как бы я продолжил обнаруживать iPhone?

Browser::isBrowser('iPhone');

Возвращает

Fatal error: Using $this when not in object context

Ответы [ 3 ]

2 голосов
/ 17 января 2010

Если пользовательский агент указывает, что это iPhone, не загружайте их.

Обновление:

В зависимости от класса, на который вы ссылаетесь, это должно завершите проверку - я говорю должен просто потому, что вижу, что некоторые пользователи отметили, что это не является надежным для них в блоге, на который вы ссылаетесь:

$browser = new Browser();
$jQuery = ($browser->getBrowser() == Browser::PLATFORM_IPHONE) ? false : true ;

См. также:

1 голос
/ 17 января 2010

Почему они вам не нужны?

Я очень подозрительно, потому что ряд сайтов пытаются представить "optmizied" версию сайта для iPhone.

И все же я не ненавижу ничего, кроме того, что мне не разрешают видеть ПОЛНЫЙ сайт. IPhone - это устройство с реальным браузером, пожалуйста, НЕ делайте паузу на своем сайте, чтобы он почти бесполезен для пользователей iPhone.

Если вы вызываете веб-страницы из приложения iPhone для получения контента, эти js-файлы не будут загружены (если вы не используете веб-просмотр).

0 голосов
/ 18 января 2010

Обнаружение браузера, без сомнения, вернется, чтобы задушить вас в будущем. Представьте, что Apple выпускает новый iPhone, который поддерживает все эти вещи, но тогда у вас есть еще варианты? А как насчет платформы конкурента, которая претендует на iPhone? Как насчет любого другого миллиарда возможных вариантов? Вы видите проблему.

Как здесь упоминает Кендалл, лучше всего позволить пользователю выбрать, какой сайт видеть. Я знаю, круто делать это автоматически, но это не очень удобно и раздражает пользователя. Такие вещи, как определение языка, отличаются, обслуживание совершенно другой версии сайта не подходит для какой-то произвольной и очень ненадежной переменной, которая может или не может присутствовать, или может быть, а может и не быть правдой. Посмотрите строки агента пользователя для IE, Firefox, Opera, Safari, и вы начнете видеть, что происходит ..

В книге PPK по javascript есть довольно интересный раздел об этом, но его сценарий обнаружения в браузере может быть полезен, если вы решите пойти по этому пути (не надо!)

Обнаружение браузера с помощью Javascript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...