मुझे पता है कि इसका एक स्वीकार्य जवाब है, लेकिन मैं ऐसी स्थिति में चला गया, जहां clientWidth
काम नहीं किया, क्योंकि iPhone (कम से कम मेरा) 980, 320 नहीं, इसलिए मैंने वापस लौटा दिया, इसलिए मैंने इस्तेमाल किया window.screen.width
। मैं मौजूदा साइट पर काम कर रहा था, जिसे "उत्तरदायी" बनाया जा रहा था और एक अलग मेटा-व्यूपोर्ट का उपयोग करने के लिए बड़े ब्राउज़रों को मजबूर करने की आवश्यकता थी।
आशा है कि यह किसी की मदद करता है, यह सही नहीं हो सकता है, लेकिन यह iOs और Android पर मेरे परीक्षण में काम करता है।
//sweet hack to set meta viewport for desktop sites squeezing down to mobile that are big and have a fixed width
//first see if they have window.screen.width avail
(function() {
if (window.screen.width)
{
var setViewport = {
//smaller devices
phone: 'width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no',
//bigger ones, be sure to set width to the needed and likely hardcoded width of your site at large breakpoints
other: 'width=1045,user-scalable=yes',
//current browser width
widthDevice: window.screen.width,
//your css breakpoint for mobile, etc. non-mobile first
widthMin: 560,
//add the tag based on above vars and environment
setMeta: function () {
var params = (this.widthDevice <= this.widthMin) ? this.phone : this.other;
var head = document.getElementsByTagName("head")[0];
var viewport = document.createElement('meta');
viewport.setAttribute('name','viewport');
viewport.setAttribute('content',params);
head.appendChild(viewport);
}
}
//call it
setViewport.setMeta();
}
}).call(this);