3

我有一个 iframe 应用程序。我收到一条警报,上面写着-error in chrome for top.location.href

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 = 窗口.location.href;
  3. document.write('元刷新............');
  4. document.write('<script> window.location ........< /script>');

第三个没有用,但其他四个都给了我同样的错误。我没有其他方法可以测试。

4

3 回答 3

1

尝试:

window.location = window.location;

或者

window.location.reload();
于 2012-08-03T08:42:37.830 回答
1

包含页面可能会将您的 iframe 放置在沙盒中。Firefox 和 Chrome 等 HTML5 浏览器支持sandbox 属性,可以完全防止此类行为。

例如,如果您的页面位于

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

但未allow-top-navigation设置,您的内容将无法更改顶部导航

于 2012-08-03T11:22:19.657 回答
0

问题是我有另一个带有错误回调的ajax函数,它被触发了,我有alert(textStatus +''+ errorThrown)

于 2012-10-31T08:18:39.310 回答