在加载DOM之前填充元标记

时间:2013-04-05 18:02:19

标签: javascript jquery html

所以这是一个奇怪的 - 但我必须解决。

我根据表单是否存在来填充元标记。我在.ready()函数中使用了表单ID,因为jQuery位于DOM之前(在头部)。

这是一个分析脚本,脚本的事件在页脚中。在填充标记并且没有数据发送之前,脚本将触发。不幸的是,我无法修改此脚本。

是否可以在表单的.ready()事件中暂停DOM加载?

var wtURL = window.location.pathname;
var wtURLParse = wtURL.split('/');
var appType = '1';

if (wtURLParse[3] == 'app') {
    var appType = '2';
}
else {
    var appType = '1'
}


document.write('<META name="placeholder">');


$('#createUsername').ready(function(e) {
    e.preventDefault;
    var isForm = $('#createUsername').length;
console.log(isForm);

    if ( $('#createUsername').length == 1 ) {
        $('META[name="placeholder"]').after('<META NAME="junk" CONTENT="'+ appType +' stuff">\n<META NAME="junk2" CONTENT="stuff2">');
        $('META[name="placeholder"]').remove();
    }
    else {
        if ( $('#createUsername').length == 0 ) {
            $('META[name="placeholder"]').after('<META NAME="junk" CONTENT="'+ appType +' stuff">\n<META NAME="junk2" CONTENT="stuff2">\n<META NAME="junk3" CONTENT="stuff3">');
            $('META[name="placeholder"]').remove();
        }
    }
});

1 个答案:

答案 0 :(得分:1)

这似乎是一个坏主意。

<meta>标记旨在放在文档的头部。必须在文档的头部同步执行JavaScript才能正确地document.write标记。这种同步执行会阻止页面的呈现,并且性能很差。

Meta tags - Google Webmaster Tools Help