[英]Jquery script error “Access is denied”
我有一个脚本,试图在其中打开子窗口并禁用父窗口,并在子窗口关闭后重新启用父窗口,如下所示:
function OpenChild() {
lockOpportunity();
if (ClinicalDataWindow == null || ClinicalDataWindow.closed) {
ClinicalDataWindow = window.open(clinicalDataUrl, 'EditOppClinicalData', GetWindowOptions(1020, 600), true);
var unloadFunc = function () { unlockOpportunity(); };
if (ClinicalDataWindow) {
if (ClinicalDataWindow.addEventListener) {
ClinicalDataWindow.addEventListener('unload', unloadFunc, false);
}
else {
ClinicalDataWindow.attachEvent('onunload', unloadFunc);
}
}
}
else {
ClinicalDataWindow.focus();
}
return false;
}
function lockOpportunity() {
$('#overlay').addClass('locking-overlay');
$('#overlay').height($(".t-edit-form-container").height());
$('#overlay').show();
}
function unlockOpportunity() {
$('#overlay').removeClass('locking-overlay');
$('#overlay').hide();
}
下面是我正在转换为覆盖以锁定父级的div
<div id="overlay" style="display:none;"></div>
和CSS:
.locking-overlay
{
position: absolute;
width:930px;
@*height: 700px;*@
z-index: 1000;
background-color: black;
opacity: 0.5;
filter: alpha(opacity=50);
}
每个都可以在我的本地计算机上完美运行。 当我在服务器上运行此代码时,我收到脚本错误“访问被拒绝”错误。 子窗口在同一个域中,我正在使用IIS7。
编辑:脚本代码在外部js文件中。
您的ClinicalDataUrl是否遵循“相同来源政策”? 这意味着您可以在想要的任何URL上打开一个新窗口,但要与之交互,您需要位于尝试交互的相同域,协议和端口中。
编辑:这是我在第二条评论中的意思
$(function(){
$(window).on('unlockOpportunityEvent',unlockOpportunity);
});
function OpenChild() {
lockOpportunity();
var origin = window;
if (ClinicalDataWindow == null || ClinicalDataWindow.closed) {
ClinicalDataWindow = window.open(clinicalDataUrl, 'EditOppClinicalData', GetWindowOptions(1020, 600), true);
var unloadFunc = function () { $(origin).trigger('unlockOpportunityEvent'); };
if (ClinicalDataWindow) {
if (ClinicalDataWindow.addEventListener) {
ClinicalDataWindow.addEventListener('unload', unloadFunc, false);
}
else {
ClinicalDataWindow.attachEvent('onunload', unloadFunc);
}
}
}
else {
ClinicalDataWindow.focus();
}
return false;
}
function lockOpportunity() {
$('#overlay').addClass('locking-overlay');
$('#overlay').height($(".t-edit-form-container").height());
$('#overlay').show();
}
function unlockOpportunity() {
$('#overlay').removeClass('locking-overlay');
$('#overlay').hide();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.