2012-08-03 36 views
3

我有一個iframe應用程序。我收到- 錯誤top.location.href的警報。從包含的不同域iframe中更改主機頁面:Firefox和Chrome中的錯誤

jQuery.ajax({ 
      type : 'get', 
      url : 'check_if_fb_data_set.php', 
      success : function(response){ 
      if(jQuery.trim(response) == 'success') { 
      top.location.href = "http://mysite.com"; 
      } else { 
       setTimeout(CheckIfFbDataSet,2000); 
      }      
     }, error : function (jqXHR, textStatus, errorThrown){ 
      console.log(errorThrown); 
     } 
}); 

我試圖

  1. location.reload()
  2. window.location.href = window.location.href;
  3. document.write('meta refresh .........');
  4. document.write('< script> window.location ........ </script>');

第三個沒有工作,但所有4個其他給了我同樣的錯誤。我沒有其他方法來測試。

+1

我不認爲你可以從iframe中更改包含iframe的頁面的位置,這似乎是你想要做的? – 2012-08-03 08:52:35

+0

so @AnthonyGrist你建議什麼 – aWebDeveloper 2012-08-03 10:10:24

+0

IFrame是否在同一個域名? – 2012-08-03 10:15:45

回答

0

的問題是,我不得不用錯誤回調另一個AJAX功能,這是得到觸發,有我有alert(textStatus +''+ errorThrown)

1

嘗試:

window.location = window.location; 

window.location.reload(); 
1

包含頁面可將您的IFRAME沙箱內。諸如Firefox和Chrome等HTML5瀏覽器支持sandbox attribute,這可以準確地阻止這種類型的行爲。

例如,如果你的網頁是內

<iframe src="url" sandbox="allow-forms allow-scripts"></iframe> 

allow-top-navigation集,你的內容將無法更改頂部導航。

相關問題