2010-01-09 2 views
38

Im пытается закрыть дочернее окно с яваскрипт и в Firefox все работает нормально, но в хром окно оленья кожа близкоПроблема с window.close и хром

вот что им с помощью

$(document).ready(function() { 
    if (window.opener && !window.opener.closed) 
     window.opener.location = "http://www.website.com" 
    window.close(); 
}); 

Я попытался предложение на google, но безрезультатно.

Любой, имеющий аналогичную проблему или знающий обход?

ответ

85

Я знаю, что этот вопрос старый, но я столкнулся с той же проблемой. Это работает для меня:

window.open('', '_self', ''); //bug fix 
window.close(); 
+0

Да, это работает и для меня. @Patrick должен отметить это как ответ. –

+11

Почему это работает? –

+0

@ Long Я думаю, потому что исправление ошибки разбилось с первым window.open(), поэтому оно должно быть отложено. @Warren Спасибо. –

10

, если ранее вы откроете в другое окно с помощью window.open()

это не работает:

window.open(...) 
window.open('', '_self', ''); 
window.close(); 

но работа:

window.open(...); 
setTimeout(function(){ 
    window.open('', '_self', ''); 
    window.close(); 
}, 100); 
2

Нечто подобное должно также работать:

комплектTimeout (функция() { window.close(); }, 50);

+3

Однако немного хаки. – BalusC

+0

Не работает для меня - это не ошибка, она просто ничего не делает. –

1

Я думаю, что он работает в режиме Chrome Kiosk (Fullscreen). Пробовал успешно.

1

top.window.close() работает для меня. Проверено на IE, FF, Chrome, Safari и Opera.

0

Это работало для меня

вар победа = window.open ("о: пустой", "_self"); win.close();