2011-09-26 61 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文件相匹配。

相关问题