我创建了一个示例脚本来添加和删除头部的元标记。但Android 2.2似乎并不尊重它的删除。但是它确实尊重在点击上添加元标记。例如..如何让它尊重标记的删除并通过javascript恢复到默认视口?
<script type="text/javascript">
$(document).ready(function(){
function initMeta(){
var headID = document.getElementsByTagName("head")[0];
var metaNode = document.createElement('meta');
metaNode.name = 'viewport';
metaNode.content = 'width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0';
metaNode.id = 'metatag';
headID.appendChild(metaNode);}
function closeMeta(){
$("#metatag").remove();}
$("#add").click(function(){initMeta();alert("meta opened");});
$("#del").click(function(){closeMeta();alert("meta closed");});
});
</script>
<input name="add" type="button" value="add metatag" id="add"/>
<input name="del" type="button" value="delete metatag" id="del"/>
答案 0 :(得分:3)
我也在iOS Safari中注意到这种行为。
您实际上正在删除元标记(可通过DOM验证 - 尝试警告$(“#metatag”)。删除后的长度)
问题是视口本身不响应此标记中缺少内容。如果您更新内容或使用新内容重新添加元标记,您应该会在屏幕上看到它。但是通过简单地删除元标记,UA似乎认为“没有必要改变”,因为它没有得到任何明确的指示。
希望有所帮助!你的问题/例子让我意识到这甚至是可能的!