2012-02-07 2 views
3

Не программирование в JS какое-то время. Теперь я следующее дело:Как закрыть окно с помощью Javascript

<html> 
<head> 
<script language="JavaScript"> 
    function enlarge() 
    { 
    window.close(); 
    } 
</script> 
</head> 
<body> 
<img src="addresstomyimg.png" onClick="enlarge()" /> 
</body> 
</html> 

(это очень упрощена, так как, по сути, у меня есть WordPress платформы с настраиваемыми JS модификаций и т.д., но в целом, это идея).

Я не понимаю, почему он не работает.

+3

Определить, что «не работает». Чего вы ожидаете? Что происходит? –

+0

http://www.google.com/support/forum/p/Chrome/thread?tid=23c03746e3aa03f9&hl=ru -> возможно, поэтому он не работает – SoonDead

+0

Поместите 'alert ('enlarge')' в начало ' enlarge() '. Вы получаете предупреждение? –

ответ

6

JavaScript не может закрыть окно, если оно не откроет окно.

В вашей функции замените window.close() на alert('here'), и вы увидите, что функция работает нормально.

Если вы хотите, чтобы ваша функция, чтобы закрыть окно, сначала откройте один:

<html> 
<head> 
<script type="text/javascript"> 
    var popup; 

    function closewin() 
    { 
     popup.close(); 
    } 
    function openwin() 
    { 
     popup = window.open('http://www.google.com'); 
    } 
</script> 
</head> 
<body> 
    <img src="addresstomyimg.png" onclick="openwin()" /> Click to open, then come back here 
    <br><br> 
    <img src="addresstomyimg.png" onclick="closewin()" /> Click to close 
</body> 
</html> 

Демо: http://jsfiddle.net/AlienWebguy/pbFha/

2

Если вы пытаетесь закрыть главное окно, это не сработает.

Вы можете только закрыть окна, открытые JavaScript.

6

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

Scripts may not close windows that were not opened by script. 

Вы можете запустить консоль ошибок в Firefox, нажав Ctrl + Сдвиг + J.

В Chrome ваш скрипт успешно закрывает вкладку, в которой он запущен.

Обратите внимание, что правильный способ использовать <script> тег при написании JavaScript следующим образом:

<script type="text/javascript"> 
0

Этот код работает на IE.

<html> 
<head> 
<script language="JavaScript"> 
    function enlarge() 
    { 
    self.close(); 
    } 
</script> 
</head> 
<body> 
<img src="addresstomyimg.png" onClick="enlarge()" /> 
</body> 
</html> 
Смежные вопросы