如何检测iFrame是否被重定向到另一个URL?

时间:2012-12-18 00:26:01

标签: javascript redirect iframe

我想列出一个带有分类广告的iframe。有时,当商品不再可用时,供应商会将页面重定向到其主页。我希望能够识别出这一点,以便假设它已售出,我可以取消该项目的索引。实现这一目标的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

你可以使用jQuery的加载函数来激活onload或reload。

http://api.jquery.com/load/

您需要存储iframe重新加载的次数。

类似的东西,

var reloaded = 0;
$("#iframe_id").load(function(){
    reloaded++;
});

答案 1 :(得分:0)

如果iframe位于其他域中,则无法检测到iframe的位置,除非它们为CORS设置了正确的标头。

在不担心其他域的情况下执行此操作的唯一方法是让您的服务器端代码在页面上运行检查并查看它是否重定向。

答案 2 :(得分:0)

在帧加载时,检测URL是什么:

var frameLoadCount = 0;
var firstURL;

$('iframe').load(function() {
    if (frameLoadCount === 0) {
        firstURL = $(this).attr('src');
    } else {
        if (firstURL !== $(this).attr('src')) {
            // The iframe has been redirected.
        }
    } 
});

基本上每次加载iframe时都运行上面的代码,检查它是否是第一次,如果是,则将URL分配给变量。如果已加载多次,请检查原始网址是否与当前网址匹配。

这可以从检查它是否被多次加载中获益,因为您可以定位特定的来源等。