2013-06-13 2 views
1

Я пытаюсь скопировать букмарклет, который я могу использовать на своем iPhone, чтобы снова включить масштабирование сайтов, которые его отключили.Как повторно включить масштабирование на iPhone с помощью Javascript (закладка)

До сих пор я нашел этот bookmarklet кто-то уже сделал с этим JavaScript:

(function() { 
    var metaElements = document.getElementsByTagName('meta'), 
     i   = metaElements.length, 
     el; 

    while (i--) { 
     el = metaElements[i]; 
     if (el.name.toLowerCase() == 'viewport') { 
      el.parentNode.removeChild(el); 
     } 
    } 
})(); 

и я нашел a page, чтобы проверить его на.

Но он ничего не делает, когда я запускаю его на своем iphone.

Любые идеи, что нужно для работы? Что-то здесь несовместимо с Safari?

+0

Что-нибудь в консоли отладки Safari? – Mario

+0

Не похоже, что я могу получить доступ к консоли отладки на последнем iphone os. И у меня нет mac для подключения. – Greg

ответ

2

Видимо удаление метатега viewport не работает, скорее его нужно изменить. Это должно повторно включить зум:

(function() { 
    var metaElements = document.getElementsByTagName('meta'), 
    i   = metaElements.length, 
    el; 

    while (i--) { 
     el = metaElements[i]; 
     if (el.name.toLowerCase() == 'viewport') { 
     el.content = "user-scalable=1, initial-scale=1, maximum-scale=100"; 
     } 
    } 
})(); 

и как букмарклет: javascript:(function(){var e=document.getElementsByTagName("meta"),t=e.length,n;while(t--){n=e[t];if (n.name.toLowerCase()=="viewport"){n.content="user-scalable=1, initial-scale=1, maximum-scale=100;";}}})();

ВНИМАНИЕ: Stackoverflow может быть добавление невидимых символов в этот букмарклет, если он не работает, попробуйте удалить их.

+0

Спасибо, я сейчас пытаюсь. Думаю, вы могли бы просто настроить контент на ""? – Greg

+0

Итак, попробовав это на тестовой странице, теперь я могу увеличить масштаб, но когда я снимаю пальцы с экрана, он возвращает уровень масштабирования туда, где он был. Может быть, тестовая страница уже была на каком-то максимальном уровне увеличения iphone?) – Greg

+0

Попытка: 'javascript: (function() {var b = document.getElementsByTagName ('meta'), c = b.length, a; while (c- -) {a = b [c]; if (a.name.toLowerCase() == 'viewport') {a.content = 'user-scaleable = 1, initial-scale = 1, maximum-scale = 100'} }})(); ' – Greg