Internet Explorer Object не поддерживает это свойство или метод - PullRequest
1 голос
/ 26 июля 2010

У меня есть этот код, выдающий ошибку из iframe:

            function parentIframeResize()
        {
            var height = getParam('height');
            // This works as our parent's parent is on our domain..
            parent.parent.resizeIframe(height);
        }

Не беспокоится об ошибке вообще. Проблема в том, что он останавливает запуск других скриптов. Firefox, Chrome или любой приличный браузер просто продолжают запускать остальные сценарии. Мне нужно подавить ошибку или убедиться, что parent.parent существует до запуска кода.

В php я бы написал что-то вроде if(!empty(parent.parent) { //do stuff with parent.parent }, чтобы проверить, существует ли объект.

Да, вложенные iframes уродливы O_o

Ответы [ 2 ]

3 голосов
/ 26 июля 2010

Try,

if (parent.parent && parent.parent.resizeIframe) {
    // parent.parent exists and supports resizeIframe
    parent.parent.resizeIframe(height);
}

Это должно сработать и остановить ошибки.

2 голосов
/ 26 июля 2010

Вы можете заключить его в блок try / catch:

function parentIframeResize() {
    try {
        var height = getParam('height');
        parent.parent.resizeIframe(height);
    } catch(err) {
        // do something to recover from the problem, or nothing to suppress it
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...