如上所述,我使用普通的iframe将外部网站嵌入到我自己的网站,但是当我访问该网页并嵌入外部网站时,它会自动重定向到外部网站。
我不希望重定向发生,有什么解决方案吗?
答案 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;