<a onclick"sth"="" ..="" cause="" ie11="" warn="" and="" prompt="" for="" adding="" about:blank="" as="" trusted="" site=""

时间:2016-02-22 17:07:53

标签: asp.net asp.net-mvc internet-explorer https jqgrid

="" I have jqgrid on asp .NET web page. When page is loaded and grid loads its data, after it receives json, before data is shown on grid, I get error message from IE:

Internet Explorer 11.0.9600.17728 它要我添加:空白到可信站点。 当我点击&#34;关闭&#34;行出现。 Row的html如下:

<a onclick="
OpenWindow('/13_1/Workflow.TasksWebPresUnit/TaskDetails/Index/?
taskDn=WFL///70000/.321360&amp;isModal=True&amp;
returnUrl=/13_1/Workflow.TasksWebPresUnit&amp;
userId=5&amp;
componentsToSet=test*testc', 'Details', '90%', '0', false, '¡',true);"
href="#">P01.07 Verification
</a>

无论我放入onclick,可以&#34; blahblah&#34;,与href一样,可以&#34; foobar&#34;,

<a onclick="
abcd"
href="xyz">P01.07 Verification
</a>

我得到了那个错误窗口。 但是,当我构造行的HTML时,它不包含&#34; onclick = sth&#34;,那么我不会得到这个错误。 有没有办法阻止IE警告用户或者我做错了什么? 任何帮助/澄清表示赞赏。

P.S。如果我添加:空白到可信站点,问题就消失了,但如果这是安全的解决方案,我不完全理解。

更新1:脚本

function OpenWindow(url, title, width, height, checkValue, multiSepar, showCloseButton) {

var progressIndImg = GLOBAL_CSS_PATH + '/Technology/modal/images/waiting.gif';
if (checkValue) {
    var queryVals = parseQueryString(url);
    var relatedComp = queryVals['componentToFill'];
    var relatedVal = document.getElementById(relatedComp);
    if (relatedVal.value != null && relatedVal.value != '') {
        var win = dhtmlmodal.open('ModalBox', 'iframe', url, title, 'width=' + width + ', height=' + height + ',center=1,resize=1,scrolling=1', '', progressIndImg, showCloseButton);
        win.onclose = function () {
            return true;
        }
    }
} else {
    var win = dhtmlmodal.open('ModalBox', 'iframe', url, title, 'width=' + width + ', height=' + height + ',center=1,resize=1,scrolling=1', '', progressIndImg, showCloseButton);
    win.onclose = function () {
        return true;
    }
}


//    } else {
//        setInterval(checkForMessages, 200);
//    }

//    var ie7 = (navigator.appVersion.indexOf('MSIE 7.') == -1) ? false : true;
//    if (ie7 != true) {
var onmessage = function (e) {

    try {
        var objects = JSON.parse(e.data);
        if (window.addEventListener) {
            window.removeEventListener('message', onmessage, false);
        }
        else if (window.attachEvent) {
            window.detachEvent('onmessage', onmessage);
        }

        if (objects['methodName'] != null)
            window[objects['methodName']](objects);
        else
            FillData(objects, true, multiSepar);

        var close = objects['close'];
        if (close == 'true') {
            win.hide();
            win.close();
        }
    }
    catch (err) {
        if (console)
            console.error(err);
    }
};

if (window.addEventListener) {
    window.addEventListener('message', onmessage, false);
} else if (window.attachEvent) {

    window.attachEvent('onmessage', onmessage);
}

0 个答案:

没有答案