2

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

4

3 回答 3

2

您可以使用触发 onload 或 reload 的 jQuery 加载函数。

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

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

就像是,

var reloaded = 0;
$("#iframe_id").load(function(){
    reloaded++;
});
于 2012-12-18T00:30:54.777 回答
0

当 iframe 在不同的域中时,您无法检测到 iframe 的位置,除非它们为CORS设置了正确的标头。

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

于 2012-12-18T00:30:30.810 回答
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 分配给一个变量。如果它已加载多次,请检查原始 url 是否与当前 url 匹配。

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

于 2012-12-18T00:31:54.143 回答