我正在尝试获取动态生成的iframe(同域)的内容。到目前为止,我有这个。
var frame = $('#avacweb_chat iframe');
var time = $('.date-and-time' , frame.contents()).last().attr('title');
var getTime = setInterval(function() {
var newTime = $('.date-and-time , frame.contents()').last().attr('title');
},500);
我尝试了第1行和第2行以及time
的警报,看看我是否真的抓住了数据。虽然我不是。基本上我想做的是获取最后一条消息.data-and-time
并使用setInterval得到相同的东西。
如果他们不同做某事。
这是我相信我的代码将在获取数据后设置的方式
var frame = $('#avacweb_chat iframe');
var time = $('.date-and-time' , frame.contents()).last().attr('title');
var getTime = setInterval(function() {
var newTime = $('.date-and-time , frame.contents()').last().attr('title');
},500);
if(time === newTime) {
alert();
}
有关从iframe获取数据的任何建议吗?
还试过=
var frame = $('#avacweb_chat iframe');
var time = $(frame).contents($('.date-and-time'));
alert(time.length);
我得到的1是正确的
然后我试了
var frame = $('#avacweb_chat iframe');
var time = $(frame).contents($('.date-and-time').attr('title'));
alert(time);
哪个成为[object Object]
工作代码=
var frame = $('#avacweb_chat iframe');
var time = $('.date-and-time' , frame.contents()).last().attr('title');
var newTime = setInterval(function() {
var newT = $('.date-and-time' , frame.contents()).last().attr('title');
},500);
if(time !== newT) {
alert('New Message');
}
现在我的问题是如何获取newTime存储它然后比较它们?
答案 0 :(得分:0)
也许这是一场竞争条件。在您尝试遍历DOM时,您的iFrame是否可能未完全加载?试一试:
var frame = $('#avacweb_chat iframe'),
newTime;
frame.on('load', function(){
newTime = frame.contents().find('.date-and-time').attr('title');
});
alert(newTime);