Хотя стандарт C ++ не имеет такого требования, некоторым компиляторам требуется, чтобы все шаблоны функций и классов были доступны в каждой используемой системе переводов. Фактически для этих компиляторов тела шаблонных функций должны быть доступны в файле заголовка. Повторить: это означает, что эти компиляторы не позволят их определять в файлах без заголовка, таких как .cpp-файлы
Существует ключевое слово export , которое должно смягчать этот проблема, но он нигде не близок к тому, чтобы быть портативным.
Взгляните на этот простой фрагмент кода, который позволяет получить информацию о мета-содержимом и ширину экрана:
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">
Я также нашел простое, более простое решение. То есть с помощью атрибута 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