安卓不遵守元标签的删除吗?

3

我创建了一个示例脚本来添加和删除head中的元标记。但是Android 2.2似乎不尊重其删除。但是,例如在单击时它确实尊重添加metatag。如何通过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"/>
1个回答

3
我也注意到在iOS Safari中有这种行为。
实际上,您正在删除meta标签(可以通过DOM验证 - 尝试在删除后警示$("#metatag").length)。
问题在于视口本身不会对此标签中内容的缺失做出响应。如果您更新内容或重新添加具有新内容的meta标签,则应在屏幕上看到它。但是仅仅删除meta标签,UA似乎认为“无需更改”,因为它没有收到任何明确的指令。
希望这可以帮助您!您的问题/示例帮助我意识到这是可能的!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接