为什么我嵌入我的网站iframe的外部网站会自动重定向到外部网站页面

时间:2014-01-09 11:20:48

标签: html iframe

如上所述,我使用普通的iframe将外部网站嵌入到我自己的网站,但是当我访问该网页并嵌入外部网站时,它会自动重定向到外部网站。

我不希望重定向发生,有什么解决方案吗?

3 个答案:

答案 0 :(得分:2)

因为代码与此类似....

<script type="text/javascript">
   if(top.location != window.location) {
     window.location = top.location;
   }
</script>

和痛心地说。有没有解决方案可为! :(

答案 1 :(得分:0)

如果你可以ajax加载页面会很好,但是由于跨域策略,这是不可能的。因此,我能想到的唯一其他解决方案是使用PHP's cURL library,这样的事情可能有所帮助:

/* gets the data from a URL */
function get_data($url) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

$returned_content = get_data('http://davidwalsh.name');

答案 2 :(得分:0)

这是另一个可以在iframe上使用沙箱属性的解决方案:

sandbox属性为iframe中的内容提供了一组额外的限制。

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

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe

然后,iframe将不再能够重定向父级。

在我的情况下,我将iframe与一些值结合使用以允许脚本和嵌入式网站使用相同的来源

    SELECT RNREFCD,DESCTXT1,DESCTXT4 FROM (Select  RNREFCD,DESCTXT1,DESCTXT2 From
    (
    Select Row_Number() OVER (Order by TRNDTTM) rno, e.RNREFCD as RNREFCD,E.DESCTXT  DESCTXT1 ,'' DESCTXT2
        From Emp e
        WHERE (e.STEPNAM  in ('GCP' ) 
    )
    )
    Where mod(rno,2) =0) a,(Select  RNREFCD1,DESCTXT3,DESCTXT4 From
    (
    Select Row_Number() OVER (Order by TRNDTTM) rno, e.RNREFCD as RNREFCD1,''  DESCTXT3 ,E.DESCTXT  DESCTXT4
        From Emp e
        WHERE (e.STEPNAM  in ('CA' ) 
    )
    )
    Where mod(rno,2) =1)b;