Это вызвало ошибку из-за неправильной реализации функции удаления. Когда вы хотите удалить сам элемент, а также все внутри него. В дополнение к самим элементам удаляются все связанные события и данные jQuery, связанные с элементами.
Когда вы указываете элемент для .remove (), обязательно используйте селекторы, которые являются именами элементов, id, классами и т. Д. c.
Код должен быть таким:
jQuery(document).ready(function () {
var screen_width = parseInt(jQuery(window).innerWidth());
var scale = screen_width / 1200;
$('meta[name="viewport"]').remove();
$('head').append('<meta name="viewport" content="target-densitydpi=device dpi,width=device-width,initial-scale=' + scale.toFixed(1) + ',minimum-scale=0.1,user-scalable=yes"/>');
});
Или намного лучшая реализация:
jQuery(document).ready(function () {
var screen_width = parseInt(jQuery(window).innerWidth());
var scale = screen_width / 1200;
$('meta[name="viewport"]').attr('content', "target-densitydpi=device dpi,width=device-width,initial-scale=' + scale.toFixed(1) + ',minimum-scale=0.1,user-scalable=yes'/>");
});