为什么此 JavaScript 会在 IE 中导致“权限被拒绝”错误

2023-12-07

下面的代码抛出一个Permission DeniedIE 中的错误,引用 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 提供服务。

UPDATE正在加载的内容是一个 WordPress 页面,其中还包含cufon-yui.js(本地服务)。我也尝试过在本地提供 jQuery(即不是来自 Google CDN),但这没有什么区别。

UPDATE 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> 

对于 AJAX 请求,www.被视为子域并破坏了 xmlhttprequest 对象的同源策略。确保 AJAX 请求中的域与页面和 javascript 文件的域相匹配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么此 JavaScript 会在 IE 中导致“权限被拒绝”错误 的相关文章

随机推荐