Поиск ширины устройства и повторение правила мета-просмотра

Хотя стандарт C ++ не имеет такого требования, некоторым компиляторам требуется, чтобы все шаблоны функций и классов были доступны в каждой используемой системе переводов. Фактически для этих компиляторов тела шаблонных функций должны быть доступны в файле заголовка. Повторить: это означает, что эти компиляторы не позволят их определять в файлах без заголовка, таких как .cpp-файлы

Существует ключевое слово export , которое должно смягчать этот проблема, но он нигде не близок к тому, чтобы быть портативным.

1
задан Ashtheslayer 13 July 2018 в 17:41
поделиться

2 ответа

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

function getMetaContentByName(name, content) {
  var content = (content == null) ? 'content' : content;
  return document.querySelector("meta[name='" + name + "']").getAttribute(content);
}

let metaTag = getMetaContentByName("viewport", "content")
console.log(metaTag)

let width = window.screen.width
console.log(width)
<meta name="viewport" content="initial-scale=0.4, width=400">

Теперь вы можете создать что-то вроде этого:

let screen = {
  width: window.screen.width,
  height: window.screen.height
}

if (screen.width < 480) {
 document.getElementById("viewport").setAttribute("content", "initial-scale=0.4, width=480");
} else if (screen.width < 720) {
 document.getElementById("viewport").setAttribute("content", "initial-scale=0.7, width=720");
} 
<meta id="viewport" name=viewport content="width=device-width; initial-scale=1">

1
ответ дан jonas00 17 August 2018 в 12:19
поделиться
  • 1
    Это абсолютно разумно! И работает. Благодаря! – Ashtheslayer 13 July 2018 в 18:23

Я также нашел простое, более простое решение. То есть с помощью атрибута screen.width и проверки диапазона ширины, а затем сброса атрибутов метатега viewport. он выглядел бы примерно так:

    <meta id="vp" name="viewport" content="width=device-width, initial-scale=0.3">
    <script>
    window.onload = function() {

    if (screen.width >= 300 && screen.width < 500) {
    var mvp = document.getElementById('vp');
    mvp.setAttribute('content','initial-scale=0.2,width=device-width');
    }

    else if (screen.width > 500 && screen.width < 600) {
    var mvp = document.getElementById('vp');
    mvp.setAttribute('content','initial-scale=0.4,width=device-width');
    }    

    else if (screen.width > 600 && screen.width < 700) {
    var mvp = document.getElementById('vp');
    mvp.setAttribute('content','initial-scale=0.5,width=device-width');
    }}

Таким образом, вы можете загружать разные масштабы просмотра, что именно то, что мне нужно. Подключитесь к @Cpncrunch отсюда: Достижение минимальной ширины с метатегами viewport

0
ответ дан Ashtheslayer 17 August 2018 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: