我创建了一个示例脚本来添加和删除头部的元标记.但是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"/>
解决方法:
我也注意到iOS Safari中的这种行为.
您实际上是在删除元标记(可通过DOM验证-删除后尝试提醒$(“#metatag”).length)
问题在于,视口本身无法响应此标记中缺少内容.如果您更新内容或使用新内容重新添加meta标记,则应该在屏幕上看到它的清单.但是通过简单地删除meta标签,UA似乎认为“无需更改”,因为那里没有任何明确的指令.
希望有帮助!您的问题/示例使我意识到甚至有可能!