2011-09-26 29 views
2

「拒絕權限」 下面的代碼拋出在IE Permission Denied錯誤,引用的jQuery(1.6.2)行6244字符:2:爲什麼這個JavaScript導致錯誤在IE

function addAgreement() { 
    var url = window.location.toString(); 
    var pieces = url.split('/'); 
    var site_url = url.replace(pieces[pieces.length -1], ''); 
    $('.login').append('<div id="dialog"></div>'); 
    $('#dialog').load(site_url + '?page_id=443'); 
} 

$('#dialog').dialog({ 
    width: 800, 
    position: 'top', 
    modal: true, 
    buttons: { 
     "Agree": function() { 
      agreed = true; 
      var val = $('#registerform').attr('action') + '&agreed=1'; 
      $('#registerform').attr('action', val); 
      $(this).dialog("close"); 
      $('#registerform').trigger('submit'); 
     }, 
     "Disagree": function() { 
      agreed = false; 
      $(this).dialog("close"); 
     } 
    } 
}); 

它工作在Firefox - 這是否與相同的原產地政策有關? jQuery由Google CDN提供服務。

UPDATE 正在加載的內容是一個WordPress頁面還包含包括cufon-yui.js(本地服務)。我也嘗試過本地服務jQuery(即不是來自Google CDN),這沒有任何區別。

更新2 去除加載頁面下面的腳本標籤出現停止錯誤。

<script type='text/javascript' src='<?php echo bloginfo('template_url') ?>/inc/js/cufon-yui.js'></script> 
<script type='text/javascript' src='<?php echo bloginfo('template_url') ?>/inc/js/path/to/font.js'></script> 
<script type='text/javascript'> 
Cufon.replace('#page')('.title'); 
</script> 
+1

可能重複[jQuery加載()拋出「權限被拒絕」錯誤在IE中](http://stackoverflow.com/questions/1954740/jquery-load-throws-permission-denied-error-in-ie) – redsquare

+0

在加載調用中加載的內容與調用頁面位於同一子域,所以我不確定是否是這樣。 – codecowboy

+1

這不是一個相同的域問題。 html是否被返回有效的html,意思是說,沒有失控的屬性字符串(缺少尾部引用)並且標籤正確地打開和關閉?此外,您是否肯定只有包含此代碼時代碼纔會失敗? 1.6.2中存在一個錯誤,當背景圖像位於body標籤上時,會導致IE失敗。 –

回答

1

對於AJAX請求,www。被視爲子域,並打破xmlhttprequestobject的同源策略。確保您的AJAX請求中的網域與網頁的域名和您的JavaScript文件相匹配。

相關問題