0

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

我根据表单是否存在来填充元标记。我在 .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();
        }
    }
});
4

1 回答 1

1

这似乎是个坏主意。

<meta>标签旨在进入文档的头部。JavaScript 必须在文档头部同步执行才能document.write正确放置标签。这种同步执行会阻塞页面的呈现,并且对性能很不利。

元标记 - Google 网站站长工具帮助

于 2013-04-05T18:08:36.207 回答