Ответ 1
У меня также была эта проблема недавно с iframe. Использование обработанного верхнего кадра и его совместимость со всеми основными браузерами.
window.top.location = 'mailto:...';
У меня есть ссылка mailto на странице. Он работает так, как ожидалось, когда страница загружается сама по себе.
Однако, когда страница загружается через набор фреймов в Chrome, ничего не происходит. При загрузке инструментов разработчика отображается ошибка "[blocked] The page at https://mysite.com ran insecure content from mailto:..."
.
Как я могу это исправить/обходиться?
У меня также была эта проблема недавно с iframe. Использование обработанного верхнего кадра и его совместимость со всеми основными браузерами.
window.top.location = 'mailto:...';
Да, использование "top" - это трюк, но вы можете сделать это только с помощью HTML!
<a target="_top" href="mailto:...">email</a>
Вот решение, с которым я столкнулся: Протестировано с Chrome, Firefox, IE6, IE7, IE8, IE9, IE10, IE11, Safari
$("a[href^='mailto:']").on("click",function() {
window.top.location = $(this).prop("href");
return false;
});
Возможно, потому что ваш родительский набор фреймов - https, но теперь Chrome теперь обрабатывает почтовую ссылку как небезопасную.
Я столкнулся с подобной проблемой при запуске ссылки mailto через
window.location = 'mailto:...'
Смена этого на нем сработала.
window.open( 'mailto:...')
Это мое обходное решение до тех пор, пока не будет исправлена ошибка Chrome:
$.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase());
if($.browser.chrome){
myWindow=window.open("mailto:"+eml+"?subject="+msb,'','width=50,height=50');
myWindow.close();
} else {
window.location.href = "mailto:"+eml+"?subject="+msb;
}
В Chrome создайте экземпляр с помощью метода window.open() и немедленно закройте этот экземпляр. Маленькое окно будет "мигать" в течение короткого периода времени, но будет выполнять эту работу. Это "грязное" решение, но столько же, сколько и Chrome.
Для других браузеров можно использовать метод window.location().
Это также сработает и не закроет окно с помощью facebook....
<a href="mailto:..." target="_blank">...</a>
или
$("a[href^='mailto:']").attr('target','_blank');
добавить target = "_ top" или "_blank" или "_parent"
<a target="_top" href="mailto:[email protected]">email1</a>
<a target="_top" href="mailto:[email protected]">email2</a>