2010-07-15 7 views
0

Я получаю ошибку времени выполнения в IE 6 для кода ниже.Ошибка выполнения в IE 6

function loadFromPopup(url) { 
if (top.opener){ 
    top.opener.window.location.href = url; 
    window.close(); 
    return false; 
} 
return true; 
} 

Действительно ценно, если кто-нибудь может дать некоторые предложения.

+0

Откуда берутся «верхушки»? Возможно, вы можете дать нам немного больше кода, чтобы мы могли понять. – ALOToverflow

+0

что делать, если вы избавитесь от 'window.'? –

ответ

0

Я не уверен на 100%, но не opener обратитесь к окну? Попробуйте:

top.opener.location.href = url; 

Edit: Что вы пытаетесь закрыть с window.close?

0

Не разрабатывайте для IE6. Вы будете расходовать часы и часы.

IE6 очень старый. Поощряйте пользователей обновлять браузер.

http://ie6update.com/

+1

-1. Не желая развиваться для IE 6, он не собирается уходить. –

1

top представляет собой глобальную переменную, которая относится к окну верхнего уровня, содержащего текущий кадр (возможно, в течение нескольких фреймов, каждый из которых, содержащего объект окна может быть получен рекурсивно с помощью parent свойства каждого окна). opener относится к окну, открывающему текущее окно с использованием window.open().

Если ваш документ находится не в рамке, просто снимите top и используйте window.opener или просто opener. opener уже ссылается на нужное окно, поэтому нет необходимости в следующем window, хотя я не ожидал, что это навредит: объект window имеет свойство, называемое window, которое ссылается на себя. Кроме того, вы должны проверить, закрыто ли открывающее окно перед тем, как что-либо сделать с ним, используя его свойство closed.

Смежные вопросы