Window.open не возвращает ссылку на окно IE9 - PullRequest
1 голос
/ 26 января 2012

Я использую скрипт для монтирования моей почтовой ссылки и вызова редактора электронной почты по умолчанию. Но я не могу использовать document.location.href из-за некоторой ошибки в IE9, поэтому я использую window.open. Оно работает. Но мне нужно закрыть открытые окна IE.

Проблема в том, что window.close не возвращает ссылку на окно.

function doMailto() {
   var sMailto = 'mailto:?bcc=';
   sMailto += document.getElementById('<%= txtEmails.ClientID %>').value;
   out = window.open(sMailto);
   out.close();  //CANT CALL CLOSE, BECAUSE OUT IS NULL
}

Ответы [ 2 ]

1 голос
/ 26 января 2012

кроме синтаксических ошибок (две запятые, закрытие двух парентезов) ...

вы открываете окно, внешнее по отношению к браузеру, вашему почтовому клиенту по умолчанию. Вы не можете управлять им через JavaScript.

Возможно, это проблема непосредственности, попробуйте использовать:

var out = window.open()...
setTimeout(function(){out.close()}, 200)

и возьмите 200 мс, чтобы увидеть, работает ли он тогда.

1010 * попробовать *

top.location.href = 'mailto:....';

вам не нужно открывать или закрывать окна таким образом

1 голос
/ 26 января 2012

У вас есть дополнительный родитель в конце строки назначения.

Кроме того, вы пытаетесь закрыть окно в той же функции, что и назначенная? Если нет, вам может потребоваться объявить переменную окна вне функции, чтобы она могла быть закрыта при необходимости.

...