确保页面始终加载到iframe中

时间:2013-06-20 07:12:48

标签: php jquery html iframe

我在我网站的iframe中使用第三方预订系统。 当用户进行预订时,他们会收到一封电子邮件,其中包含直接指向预订页面的确认链接(我通常会在iframe中显示)。因此,用户只能看到日历而不是整个页面,并且日历位于iframe中。

有没有办法检查页面是否在iframe中加载,如果没有,请在其周围加载父页面?

2 个答案:

答案 0 :(得分:0)

在javascript中 * window.top *需要像窗口,但在iframe窗口中不等于窗口。顶部。

<script>if( window.top != window ) window.top.location = 'PARENT_URL';</script>

答案 1 :(得分:0)

希望你明白这一点:

<强> iframe的page.html中

<script>
    if ( window.top == window.self ) {
        location.replace('site.html?path=' + encodeURIComponent(location.href));
    }
</script>

<强> site.html

<iframe id="iframe"></iframe>
<script>
    // site.html?path=lol.html -> lol.html
    var path = location.href.split('?').pop().split('path=').pop().split('&').shift(),
        iframe = document.getElementById('iframe');

    if ( path ) {
        iframe.setAttibute('src', decodeURIComponent(path));
    } 
</script>

但是你可能会遇到Same Origin Policy

的问题