У меня есть сайт (www.website.com) и мобильный сайт (m.website.com), и я пытаюсь разрешить пользователям «просматривать полный сайт», если они хотят с мобильного. В настоящее время я использую Javascript для проверки ширины экрана на полном сайте, а затем перенаправления на мобильный.Посмотреть полный сайт с печеньем, javascript и мобильным перенаправлением
if (screen.width <= 699) {
document.location = "http://m.website.com";
}
Это прекрасно работает. На мобильном сайте есть кнопка «Посмотреть полный сайт». Когда вы нажимаете на нее, она перенаправляет вас на мой скрипт «force_desktop.php», который устанавливает cookie, а затем отправляет вас на главный сайт.
<?php
setcookie("force_desktop", "1");
header("Location: http://www.mywebsite.com");
?>
Теперь, когда мы устанавливаем куки и перенаправляется на основной веб-сайт, мы должны проверить на печенье, а не просто проверка ширины экрана.
Logic
Если Cookie force_desktop найден
Затем выйдите
Else
тест размер экрана запуска
Вот код, который я пытался использовать, но Безразлично» т работы. Этот код помещается в мой файл head.php, который будет запускаться на каждой странице и помещается между тегами открытия и закрытия скриптов.
Попытка 1
if($_COOKIE['force_desktop'] == '1' {
exit;
} else if($_COOKIE['force_desktop'] != '1' {
if (screen.width <= 699) {
document.location = "http://m.website.com";
}
};
Попытка 2
if(isset ($_COOKIE["force_desktop"])){
exit;
else
if (screen.width <= 699) {
document.location = "http://m.mywebsite.com";
};
Альтернативная логика, которая могла бы работать
ЕСЛИ Cookie force_desktop не найден и Screen.Width < = 699
Затем перенаправлять m.myseite.com
Else
Выход
Примечание
Я запустить следующий сценарий, чтобы убедиться, что печенье помещаются, и является.
<?php
print_r($_COOKIE);
?>
Я бежал из идей и знать мое кодирование не является правильным, особенно если/другое заявление в If/Else заявление. Я также не уверен, что лучше использовать «isset», чтобы узнать, используется ли cookie или ($ _COOKIES ['variable'] == "#"). Я бы очень признателен за хорошие отзывы об этом.
Заранее спасибо за вашу помощь и предложения,
Matt
спасибо Амаль для Qui ck ответ. Я понимаю логику этого ответа и что если он не найдет cookie «force_desktop», он напишет (эхо) скрипт, который проверяет ширину экрана в html. Однако я не уверен, где в коде разместить это. Я поместил это в свой файл «head.php» и поместил его как есть в тегах php внутри тегов скриптов и даже сохранил его в отдельный файл php и использовал php для проверки того, работает ли это. Я просто не могу понять, как правильно это реализовать. Надеюсь, вы сможете помочь этому новичку немного больше, Еще раз спасибо Amal. – Matt
@Matt: просто добавьте скрипт в начало кода вашего полного сайта, и он должен работать. –
Спасибо Амалу за то, что указали мне в правильном направлении. Там должно быть «}» перед тегом закрывающего скрипта для запуска вызова screen.width, вот что вызывало у меня столько проблем. Я также добавил тег "}" перед else и "{" после else. Еще раз спасибо человеку, отмеченному как правильный ответ. – Matt