【发布时间】:2013-05-22 17:53:42
【问题描述】:
我正在尝试获取动态生成的 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 存储它然后比较它们?
【问题讨论】:
-
这是什么
, frame.contents()').. 看起来它不是一个有效的选择器!! -
iframe src 在您的域中吗?因为如果没有,同源政策将毁掉你的一天。编辑:刚刚看到您在顶部说相同的域。
-
Same Origin yes ;) 和 Sushanth 我正在阅读有关如何从 iframe 获取数据的其他问题,他们说要这样做,这就是我这样做的原因......这是错的吗?
-
var newTime = $('.data-and-time' , frame.contents()).last().attr('title');应该至少部分修复它。frame.contents()不应该在字符串中。这是第二个论点。 -
'frame.contents()'是一个字符串,它不获取框架的内容。
标签: javascript jquery iframe setinterval