ссылка на mailto не работает во всплывающем окне с расширением chrome - PullRequest
6 голосов
/ 08 июля 2010

Эта проблема сводила меня с ума в течение 2 дней. Я сделал простое расширение для Chrome, которое вызывает серверную программу, которая возвращает HTML, и затем помещаю его в div во всплывающем окне. Все было хорошо, за исключением простой якорной ссылки, содержащей href mailto: xxx@yyy.com. Окно составления сообщения электронной почты не появится.

Обходной путь : Добавить цель = "_ blank" атрибут

Я хотел бы знать, почему это необходимо.

Ответы [ 2 ]

5 голосов
/ 12 июля 2010

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

2 голосов
/ 25 апреля 2013

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

function sendEmail(){
    var mail = 'mailto:xxx@yyy.com?subject=Subject&body=Body';
    var newWin = window.open(mail);
    setTimeout(function(){newWin.close()}, 100);
}

Это не идеально, потому что оно открывает новое окно, которое видно пользователю.вместо того, чтобы делать это мгновенно.Фактически, моя первая попытка была такой (которая работает в файле HTML, но не работает в моем расширении):

function sendEmail(){
    var mail = 'mailto:xxx@yyy.com?subject=Subject&body=Body';
    window.open(mail).close();
}

Не уверен, почему добавление таймера делает его работу в этом случае, а непросто делаю это, как в обычном HTML-файле, но у меня это сработало, поэтому я решил поделиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...