Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.03.2020, 14:00
Новичок на форуме
Отправить личное сообщение для alanat Посмотреть профиль Найти все сообщения от alanat
 
Регистрация: 02.07.2016
Сообщений: 6

Код по изменению параметров viewport не работает в мобильном Chrome
Добрый день.
При помощи
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=597');

должен заменяться параметр content в viewport в коде
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width">
<style>
.d1
{
    width:100px;
    height:100px;
    background-color:green;
    color:white;
    font-size:xx-large;
}
 
.d2
{
    display:inline;
}
 
.d3
{
    display: none;
}
 
@media (max-width: 596px) {
.d2
{
    display: none;
}
 
.d3
{
    display: inline;
}
}
</style>
<script>
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=597');
</script>
</head> 
<body> 
<div class="d1"><span class="d2">ПК <script>document.write(screen.width);</script></span><span class="d3">Моб <script>document.write(screen.width);</script></span></div>
</body>
</html>

В IE11, Chrome для ПК (включая переключение по F12), мобильной версии Samsung отображается "ПК", т.е.
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=597');

отрабатывается.

А мобильный Chrome упоно показывает "Моб", как будто
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=597');

не существует.
Есть ли подобный код, который работает и в мобильном Chrome?

Заранее благодарен за ответ.
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2020, 19:05
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Проверил у себя на мобильном
Вот такой код
<!doctype html>
<html>
<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" lang="ru">
  <meta name="viewport" content="width=device-width">
<style>
.d1
{
    width:400px;
    height:100px;
    background-color:green;
    color:white;
    font-size:xx-large;
}
 
.d2
{
    display:inline;
}
 
.d3
{
    display: none;
}
 
@media (max-width: 596px) {
.d2
{
    display: none;
}
 
.d3
{
    display: inline;
}
}
</style>
<script>
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=597');
</script>
</head> 
<body> 
<div class="d1">
<span class="d2">
ПК <script>
document.write(document.querySelector("meta[name=viewport]").getAttribute('content')+' '+screen.width);
</script>
</span>
<span class="d3"
>Моб <script>
document.write(document.querySelector("meta[name=viewport]").getAttribute('content')+' '+screen.width);
</script>
</span>
</div>
</body>
</html>


Выдает
ПК width=597 360
И в Хроме и в Файрфоксе в портретном режиме
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код работает в браузере, но не работает на сайте RomeoKadavr Общие вопросы Javascript 3 18.05.2019 19:55
Как работает код с последовательностью скобок? AndriiS Общие вопросы Javascript 1 19.02.2019 16:18
Объясните как работает код wolf_ Ваши сайты и скрипты 0 06.08.2014 23:24
Не работает код из внешнего файла в IE6 Petka jQuery 2 03.03.2010 16:09
Код не работает в седьмом Эксплорере... vol4ara Общие вопросы Javascript 0 14.07.2008 18:53