已經有同樣的問題,第三方頁面加載到我的iframe,其中一些被X框架選項阻止,未包含在HTML中。
注意:在CHROME,iPhone,Mozilla Android 4.4.2上工作,但不適用於FireFox。
如果你想要在新窗口打開這些頁面,這是我如何管理它。 也許有用的東西爲其他人尋找這種特殊場景的解決方案。 (get_headers)對大多數人來說工作正常,但是我發現很少有人沒有將X-Frame-Options直接放入HTML頭(自動包含),所以get_headers失敗了,瀏覽器接收到了這個消息[幀選項:your_guest_url不允許跨越幀。]
我不得不在我的第一頁上添加鏈接,讓用戶打開新窗口中的有問題的頁面,通過點擊它並創建inbetween頁面與JavaScript,加載圖標和的setTimeout()。
firstpage.php [與 'IFRAME' 和 'a' 低於 '的iframe']
<?php
foreach(get_headers("http://".$_REQUEST["address"]) as $v) {
if($v == "X-Frame-Options: SAMEORIGIN" || $v == "X-Frame-Options: DENY") {
header("location: http://".$_REQUEST["address"]);
die();
}
}
?>
<iframe id="iframe-id" src="secondpage.php"></iframe>
<a href=your_guest_url>go to your_guest_url</a>
<script language='javascript'>
setTimeout(function() {
document.getElementById('iframe-id').src = 'your_guest_url';
},500);
</script>
secondpage.php [裝入的iframe]
<div class="loading-info">
<div id="loading-info" class="loading-info-content">
<i class="fa fa-3x fa-spinner fa-pulse"></i>
</div>
</div>
<script>
setTimeout(function() {
document.getElementById("loading-info").innerHTML = "<p'>USE LINK BELOW IFRAME</p>";
},5000);
</script>
頁而不 '隱藏的' X- Frame-Options在500ms後通過javascript加載到iframe中,有問題的頁面不會加載,所以secondpage停留在iframe中並執行javascript setTimeout();.