如何使用Javascript(Bookmarklet)在iPhone上重新启用缩放

时间:2013-06-13 13:02:25

标签: javascript iphone safari bookmarklet

我正在尝试编写一个我可以在iPhone上使用的书签,以便在禁用它的网站上重新启用缩放。

到目前为止,我发现这个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不兼容吗?

1 个答案:

答案 0 :(得分:2)

显然删除视口元标记不起作用,而是必须更改。 这应该重新启用缩放:

(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可能会向该bookmarklet添加不可见的字符,如果它不起作用,请尝试删除它们。