سؤال

لقد قمت بإنشاء نموذج نصي لإضافة وإزالة metatags من الرأس. لكن يبدو أن 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"/>
هل كانت مفيدة؟

المحلول

ألاحظ هذا السلوك في Safari iOS أيضًا.

أنت تقوم بالفعل بإزالة علامة التعريف (يمكن التحقق منها من خلال DOM - محاولة تنبيه $ ("#metatag"). الطول بعد الإزالة)

المشكلة هي أن منفذ العرض نفسه لا يستجيب لغياب المحتوى في هذه العلامة. إذا قمت بتحديث المحتويات أو إعادة إضافة علامة التعريف بمحتويات جديدة ، فيجب أن ترى أنها تظهر على شاشتك. ولكن بمجرد إزالة علامة التعريف ، يبدو أن UA تعتقد أنه "لا يوجد تغيير ضروري" لأنه لا يحصل على أي تعليمات صريحة هناك.

امل ان يساعد! ساعدني سؤالك / مثالك على إدراك أن هذا كان ممكنًا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top