Я просто приведу документацию здесь, только для тех, кому нужна ссылка, нажмите W3C и MDN.
function openWin() {
myWindow = window.open("", "myWindow", "width=200, height=100"); // Opens a new window
}
function closeWin() {
myWindow.close(); // Closes the new window
}
Чтобы разбить его, то open
и close
функции используют параметры, чем может быть очень полезным, например, URL
, когда желая, чтобы открыть или закрыть текущее окно, или в случае открыл окно.
Практический пример: this проблема с переполнением стека. N
Надеюсь, это поможет!
EDIT
Чтобы ответить редактировать оп в на вопрос: Если это вопрос вызвав событие на окно, которое было открыто, вы можете в новом окне, обработчик событий, который будет вызвать window.close()
так:
$('#anElementId').click(function() { window.opener.$('body').trigger('theCloseEvent', anyPassedData); })
Однако, если вы действительно есть контроль над новой вкладки, потому что это приводит к URL, чей базовый код вы контролируете, то это лишь вопрос инициирования события там вы можете как только окно нагрузок, или когда вы нажимаете на кнопку ... как так:
HTML
<button id="close-window">Close me</button>
JavaScript/JQuery:
$(document).ready(function(){
$("#close-window").click(function(){
alert("ok");
window.close();
});
});
EDIT # 2
Для дальнейшее расширение редактирования OP, я хочу включить здесь проблему, с которой можно легко столкнуться при попытке запустить открытое окно для закрытия.
How can I close a browser window without receiving the “Do you want to close this window” prompt? Цитируется:
Scripts are not allowed to close a window that a user opened. This is considered a security risk. Though it isn't in any standard, all browser vendors follow this (Mozilla docs). If this happens in some browsers, it's a security bug that (ideally) gets patched very quickly.
None of the hacks in the answers on this question work any longer, and if someone would come up with another dirty hack, eventually it will stop working as well.
I suggest you don't waste energy fighting this and embrace the method that the browser so helpfully gives you — ask the user before you seemingly crash their page.
Другими словами, если сценарий вашей веб-страницы не имеет контроль окно, которое было открыто, вы должны/могут не закрывать указанное окно. Это связано с тем, что скрипт, запускающий window.close
, не контролирует открытое окно.
EDIT # 3
Так много правок я знаю! Но я отвечаю на это между моей повседневной рутиной, так что медведь со мной. Чтобы ответить на вопрос porthole.js, с ним должно быть гораздо возможно сделать что-то, но вам нужно понять, что вы работаете с iframes.
Существует значительная разница при работе с сайтов против работы с , фреймов, в которых плавающие фреймы являются виджеты и веб-сайтов (в том числе мини-сайтов) дают URL. Есть много соображений, а также с точки зрения безопасности и песочницы, как видно на portholejs demo here. Эта разница также не позволяет вам работать с разными веб-сайтами так, как вы хотите изначально.
Мое мнение будет заключаться в том, чтобы оценить ваши варианты в отношении вашей реализации: от веб-сайта до веб-сайта и от веб-сайта до виджета.
Удачи вам!
Вы можете вызвать javascript, когда окно загружается, чтобы сделать window.close() при нажатии кнопки – AGE
Я уверен, что окна, открытые с помощью 'window.open()', могут быть закрыты с помощью 'window.close()'. –
Возможный дубликат [Как закрыть текущую вкладку в окне браузера?] (Http://stackoverflow.com/questions/2076299/how-to-close-current-tab-in-a-browser-window) – LGSon