ส่วนใหญ่มีคำตอบ แต่จะขยายความ ...
ขั้นตอนที่ 1
เป้าหมายของฉันคือเปิดใช้งานการซูมในบางช่วงเวลาและปิดการใช้งานที่คนอื่น ๆ
var $viewport = $('head meta[name="viewport"]');
$viewport.attr('content', 'width=device-width, initial-scale=1, maximum-scale=4');
$viewport.attr('content', 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no');
ขั้นตอนที่ 2
แท็กวิวพอร์ตจะอัปเดต แต่การซูมด้วยนิ้วยังคงทำงานอยู่ !! ฉันต้องหาวิธีเพื่อให้หน้าเว็บรับการเปลี่ยนแปลง ...
เป็นวิธีการแฮ็ก แต่การสลับความทึบของร่างกายเป็นเคล็ดลับ ฉันแน่ใจว่ามีวิธีอื่นในการทำให้สำเร็จ แต่นี่คือสิ่งที่ได้ผลสำหรับฉัน
document.body.style.opacity = .9999;
setTimeout(function(){
document.body.style.opacity = 1;
}, 1);
ขั้นตอนที่ 3
ปัญหาของฉันส่วนใหญ่ได้รับการแก้ไข ณ จุดนี้ แต่ก็ไม่มากนัก ฉันจำเป็นต้องทราบระดับการซูมปัจจุบันของหน้าเพื่อที่ฉันจะได้ปรับขนาดองค์ประกอบบางอย่างให้พอดีกับหน้า (นึกถึงเครื่องหมายบนแผนที่)
var currentZoom = $document.width() / window.innerWidth;
ฉันหวังว่านี่จะช่วยใครสักคน ฉันใช้เวลาหลายชั่วโมงในการกระแทกเมาส์ก่อนที่จะหาวิธีแก้ปัญหา
viewport = document.querySelector("meta[name=viewport]"); viewport.setAttribute('content', 'width=1020');
(สำหรับบริบทบางอย่าง: ฉันวางสิ่งนี้ไว้ในอินสแตนซ์ Drupal ที่ค่อนข้างล็อค ... ดังนั้นฉันจึงไม่สามารถเข้าถึงพื้นที่ส่วนหัวได้โดยตรงและจำเป็นต้องใช้ Javascript)