HTML iframe,Page未在iframe中加载,而是替换整个网页。

时间:2012-04-11 11:14:57

标签: html iframe

我正在尝试在一个框架中加载http://www.flipkart.com。 但是当它加载时,我的网页被替换为flipkart主页。

为了澄清,window.location.href已更改为flipkart.com。

我可以跟踪此重定向方式的事件,就像我可以打开一个对话框 - 说 1.留在这个页面上。 2.离开此页面。

3 个答案:

答案 0 :(得分:1)

不,网站将此作为阻止将其加载到iframe中(不要求用户禁用javascript)

答案 1 :(得分:1)

flipkart iframe黑客技巧

您可以使用沙箱属性(使用允许表单)强制flipkart保留在iframe中。 但是有一些限制,比如js无法工作。

http://www.w3schools.com/tags/att_iframe_sandbox.asp

答案 2 :(得分:0)

Flipkart在HTML中使用以下代码来防止任何框架加载其网站。

function noxfs() {
    try {
        if (window.top !== window.self) {
            document.write = "";
            window.top.location = window.self.location;
            setTimeout(function() {
                document.body.innerHTML = '';
            }, 0);
            window.self.onload = function() {
                document.body.innerHTML = '';
            };
        }
    } catch (err) {
    }
}
noxfs();

这里他们用自己的位置更新window.top.location。 他们尝试做的事情可以被拦截,你可以通过使用下面的代码来防止出现问题。

    window.onbeforeunload = function(e) {
  return 'Any message here.';
};

这里是在窗口删除现有页面的DOM之前触发的事件处理程序。