3

我创建了一个示例脚本来添加和删除头部的元标记。但 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"/>
4

1 回答 1

3

我在 iOS Safari 中也注意到了这种行为。

您实际上是在删除元标记(可通过 DOM 验证 - 删除后尝试提醒 $("#metatag").length)

问题是视口本身不会响应此标签中缺少内容。如果您更新内容或使用新内容重新添加元标记,您应该会在屏幕上看到它。但是通过简单地删除元标记,UA 似乎认为“无需更改”,因为它没有得到任何明确的指令。

希望有帮助!您的问题/示例帮助我意识到这甚至是可能的!

于 2011-09-19T21:09:58.927 回答