Как я могу отключить масштабирование, масштабирование и двойное нажатие на мою html-страницу для safari / ios / iphone с javascript или css или чем-то еще?

Абдул Баки

новый участник этого сайта. Будьте внимательны, спрашивая разъяснения, комментируя и отвечая. Проверьте наш

Правила поведения

,

Прежде всего вам необходимо проверить, используется ли ваше веб-приложение в браузере Safari. Это то, что вы делаете для разных браузеров.

{amp}lt;script{amp}gt; let browserName = ""; if(navigator.vendor.match(/google/i)) { browserName = 'chrome/blink'; } else if(navigator.vendor.match(/apple/i)) { browserName = 'safari/webkit'; } else if(navigator.userAgent.match(/firefox//i)) { browserName = 'firefox/gecko'; } else if(navigator.userAgent.match(/edge//i)) { browserName = 'edge/edgehtml'; } else if(navigator.userAgent.match(/trident//i)) { browserName = 'ie/trident'; } else { browserName = navigator.userAgent   "n"   navigator.vendor; } alert(browserName); {amp}lt;/script{amp}gt; 

И тогда вы можете отключить масштабирование в условии If, если браузер на самом деле Safari. Один из вариантов — установить обработчик для сенсорных событий window.addEventListener("touchstart", touchHandler, false); а затем написать функцию touchHandler

 function touchHandler(event){ if(event.touches.length {amp}gt; 1){ //the event is multi-touch //you can then prevent the behavior event.preventDefault() 

Точно так же вы можете отключить масштабирование при пинч

 document.addEventListener("touchmove", function(e){ e.preventDefault(); },{passive: false}); 

}}

Вот еще несколько дополнительных ресурсов о сенсорных событиях https://mobiforge.com/design-development/html5-mobile-web-touch-events . Вам придется установить обработчик для другого сенсорного события, чтобы предотвратить масштабирование по умолчанию в зависимости от браузера. Пожалуйста, обратитесь к этому http://www.quirksmode.org/mobile/default.html