所以这是一个奇怪的 - 但我必须解决。
我根据表单是否存在来填充元标记。我在.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();
}
}
});
答案 0 :(得分:1)
这似乎是一个坏主意。
<meta>
标记旨在放在文档的头部。必须在文档的头部同步执行JavaScript才能正确地document.write
标记。这种同步执行会阻止页面的呈现,并且性能很差。