以下代码在IE中引发Permission Denied
错误,引用jQuery(1.6.2)第6244行:Char:2:
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提供服务。
更新
正在加载的内容是一个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>
答案 0 :(得分:1)
对于AJAX请求,www。被视为子域并打破xmlhttprequestobject的同源策略。确保您的AJAX请求中的域与页面域和您的javascript文件匹配。