2015-05-27 3 views
1

С моей страницы я открываю новую страницу на разных вкладках. Когда страница на разных вкладках будет загружена, я хочу закрыть мою веб-страницу. Предположим, я нахожусь на странице, и я открыл pageB, используя window.open(). Теперь, когда pageB будет открыт, я хочу закрыть pageA. Я попробовал этот jsFiddle -Window.close() не работает для закрытия текущей вкладки

function onClickBtn() 
{ 
    var win = window.open('http://www.google.com','_blank',''); 
    setTimeout(function() { 
     win.close(); 
    }, 5000); 
}; 

Это мой HTML разметка -

<input id="btn1" type="button" value="Click me" onclick="onClickBtn()"/> 

Однако этот код закрытия страницаБ, не Страница A.

Я пробовал jsFiddle https://jsfiddle.net/gdso9eeg/
Пожалуйста, предложите мне подходящее решение.

+0

http://stackoverflow.com/questions/19761241/window-close-and-self-close-do-not-close -the-window-in-chrome – vikingben

ответ

-1

.close() должен следить за окном Javascript, а не выигрывать.

Пробег:

window.close();

Удачи вам!

EDIT:

Вы проверили этот пост window.close and self.close do not close the window in Chrome?

«.. Javascript не должно быть позволено, чтобы закрыть окно, которое не было открыто к тому же JavaScript.»

Он также предлагает некоторые обходные пути к этому вопросу.

+0

Я взял открытое окно в переменной «win». И затем вызов win.close(), который работает. Однако вместо закрытия текущей вкладки она закрывает недавно открытую вкладку. – DfrDkn

0

Это то, что он должен делать. Вы открыли новое окно с этой переменной и, используя close(), закрыли окно, которое оно открыло. Если вы хотите закрыть родителя, то откройте новую страницу родителя. Попробуйте это:

На месте _blank пут _parent

+0

Его все еще не работает с кодом, как вы предложили - function onClickBtn() { var win = window.open ('http://www.google.com', '_parent', ''); win.close(); }; – DfrDkn

+0

Я хочу закрыть то же окно, в котором я работаю после определенного периода времени после завершения операции сохранения в бэкэнд. – DfrDkn

+0

Сделать второй аргумент _parent, в настоящее время ваш код имеет третий аргумент. Я тестировал его и его работу. –

0

Если страница перенаправляет на том же окне страницы, то window.close не будет работать из-за какой-то безопасности браузера для этого типа сценария мы должны использовать один из следующий способ.

1.window.history.back();

2.document.referrer

стороне сервера 3.Request.UrlReferrer

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