Посилання для пошти нічого не роблять у Chrome, але працюють у Firefox?


149

Схоже, mailtoпосилання, які ми вкладаємо на наш веб-сайт, не вдається зробити нічого в Chrome, хоча вони працюють у Firefox.

Простий приклад тут: http://jsfiddle.net/wAPNH/

<a href='mailto:test@test.com'>hi this is a test</a>

Чи потрібно робити щось особливе для включення поштових посилань у Chrome?


Для мене добре працює, чи є у вас розширення Chrome чи щось, що заважає?
Райан Кемпт

Яка програма відкриється у FF, коли ви натискаєте посилання mailto?
mohkhan

1
Я спробував у chrome 28, і те, що посилання JSfiddle працювало для мене чудово (працює на Mac і відкрив mail.app просто чудово).
sasbury

Я виявив, що mailto:test%40test.comце більш послідовно
Pro Q

Відповіді:


128

Це конкретні налаштування браузера, тобто він поводитиметься по-різному залежно від налаштувань браузера користувача. Користувач може змінити поведінку mailto:посилань у хромі, відвідавши chrome://settings/handlers, абоChrome Settings->Content Settings->Manage Handlers...

Якщо на цій сторінці не вказано "електронну пошту", перегляньте цю відповідь щодо того, як діяти далі.


7
чудово, яка поведінка за замовчуванням?
Crashalot

8
Я вважаю, що типовим є запуск поштового клієнта на комп’ютері. Я знаю на роботі, це запустить грому; якщо у них встановлений прогноз, він може працювати з перспективою тощо. Особисто він не запускав gmail за замовчуванням, я повинен був налаштувати його таким чином.
kennypu

2
@Crashalot nope. a mailto link - це посилання для mailto
kennypu

48
Відкриття chrome: // settings / обробники дає мені порожнє поле без можливості додавати обробник. Схоже, тут Chrome погано порушений: він просто не відкриє налаштовану пошту (Thunderbird) у відповідь на поштове посилання.
Пітер Флінн

3
@PeterFlynn, схоже, chrome зараз спробує запустити стандартний поштовий клієнт, встановлений на комп’ютері. Переконайтесь, що thunderbird встановлений як клієнт пошти за замовчуванням. Дивіться це посилання про те, як це зробити: kb.mozillazine.org/Default_mail_client#Windows
kennypu

108

Це пов’язано з тим, що хром обробляє поштову машину по-різному. Ви можете перейти chrome://settings/handlersі переконатися, що це обробник за замовчуванням. У вашому випадку це буде жодне (тобто не вказане). Тепер перейдіть на gmail.com. Ви повинні побачити щось подібне, натиснувши кнопку біля кнопки закладок.

Встановити поштове повідомлення в хромі

Якщо ви хочете відкрити всі посилання електронної пошти через gmail, тоді встановіть "Використовувати Gmail". Тепер, коли ви натиснете на кнопку mailto, хром автоматично відкриється в gmail.


1
Це працювало для мене, не попередньо переглядаючи gmail і натискаючи "дозволити gmail ...", не було обробника в налаштуваннях, які потрібно змінити.
chrismarx

1
Gmail? Що стосується Gmail? Я хочу, щоб Chrome відкрив Thunderbird замість того, щоб відкривати новий екземпляр Chrome.
Пітер Флінн

Перейдіть на хром: // налаштування / обробники, щоб встановити обробник.
Rajesh Hegde

1
@ Gi1ber7 Ви можете перейти до chrome: // settings / handlers, щоб змінити налаштування пошти.
Rajesh Hegde

1
у мене там немає обробників. wth
Борис Гафуров

42

У моєму випадку хром асоціювався як протокол MAILTO у Windows 10 .

Я змінив асоціацію на Outlook, використовуючи "Програми за замовчуванням" -> "Пов’язати тип файлу або протокол з програмою" .

MAILTO - це нижче в списку. Цей скріншот може допомогти.

введіть тут опис зображення


Гаразд, але що робити, якщо ми хочемо, щоб він відкрився на певному веб-сайті, а не в додатку?
Кайл Делані

2
За допомогою Windows 10 мені довелося вибрати Outlook у списку ліворуч, перш ніж я міг побачити прапорець протоколу "mailto" у правому списку.
Том Макдональд

15

Я також випробував цю проблему, і врешті-решт відстежив її до того, що моє посилання знаходилось в рамках iframe, а мій веб-додаток використовує https. Chrome блокував це через це (Chrome відкривав би інші посилання для поштового зв’язку поза рамкою iframe).

У поштовому посиланні, що не працює в хромірованному кадрі (над https) , Кендснейдер згадав про просто зміну

<a href="mailto:...">email</a>

до

<a target="_top" href="mailto:...">email</a>

Вуаля, проблема вирішена. Ця поштова посилання зараз працює у всіх браузерах.


Мені цікаво, якби використання target=_parent"також не спрацювало. Гарна знахідка.
Термато

Дякую. Працювали чудово. @Termato, мабуть, спрацює, якби це був "верхній" кадр. Просто використовуйте target="_top"або використовуйте JavaScript:window.top.location.href = 'mailto:...'
Ніл Монро,

Тепер target = "_ top" також не працює :( будь-який альтернативний спосіб вирішення. Я намагався з "_parent", і він теж не працює.
Vijay Mishra

target="_top"працював на мене в рамках iframe в Google Chrome
John Doherty

@Basj відмінно працює на моєму (останньому) Chrome. Чи є у вас на комп’ютері поштовий клієнт за замовчуванням?
Томас Аюб

13

Потрібно дозволити gmail встановити обробник послуг для протоколу mailto:

1) перейти до gmail

2) натисніть на невеликий значок ромба в кінці адресного рядка (скріншот)

3) насолоджуватися

введіть тут опис зображення


Я такого не бачу
Борис Гафуров

@BorisGafurov - ваша версія Chrome оновлена?
jj_

7

Ви можете спробувати збирається chrome://settings/handlersі встановлене значення для , mailto:щоб noneзамістьgmail


7
Те саме тут: у chrome 27 немає жодного обробника для встановленого поштового зв’язку чи іншого для цього питання. Більше, можливо, новий параметр безпеки у chrome. У FF мені довелося також додавати його вручну.
Роберт Гофман

Те ж саме. Chrome в основному розірвано поштові посилання wrt
Пітер Флінн

6

Виправлення, яке працювало для мене, оскільки мої протоколи оброблялися порожніми

https://productforums.google.com/forum/#!topic/gmail/CQMCGRvyhCM

Дивіться відповідь redfish43, щоб підвести підсумки

Для поштового повідомлення: - Переконайтеся, що ви ввійшли в Gmail, а активне вікно - ваша основна сторінка Gmail (інакше нічого не відбудеться). - Скопіюйте / вставте це в адресний рядок:

javascript:navigator.registerProtocolHandler("mailto","https://mail.google.com/mail/?extsrc=mailto&url=%s","Gmail")

Якщо потрібно, ще раз додайте javascript: на передню частину, тому що, коли ви вставляли його, Chrome, ймовірно, обрізав усе до і двокрапку. Потім натисніть клавішу Enter.

Коли відкриється вікно, натисніть "Дозволити"


Що з Outlook.com?
Кайл Делані

3

У мене була така ж проблема. Проблема, з якоїсь дивної причини, Chrome перетворив себе на інструмент за замовчуванням, щоб відкрити посилання mailto:. Вирішіть, покладіть свій поштовий клієнт як додаток за замовчуванням, щоб відкрити його. Як: http://windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7

Удачі


дякую, це було корисно, довелося безуспішно спробувати всі вищі рейтинги, перш ніж я потрапив сюди :(.
Борис Гафуров

2

Я знайшов цю відповідь на форумі Google, який працював на мене. У виносках згадується "googleapps.exe" - у мене цього немає, і воно все ще працює. Просто дотримуйтесь інструкцій нижче, але закрийте всі програми, перш ніж вносити зміни до Реєстру. Також я зберегла існуюче значення на випадок, якщо воно не спрацювало.


Просто введіть "запустити" на панелі пошуку, а потім введіть "regedit" і перейдіть до:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command\ 

редагувати (подвійне клацання) "(за замовчуванням)" на:

"C:\Program Files (x86)\Google\Google Apps\googleapps.exe" --domain= --mailto.google.com="%1" 

Це воно! Збережіть і закрийте, і це має прекрасно працювати!

Використання цього методу не дозволяє завантажувати GMail Notifier, який тим, хто нам із GTalk, не потрібен, оскільки він це робить для нас. Я не впевнений, чому Google не може легко вирішити цю проблему .. Я чув, що Google Apps ще не протестовано повністю в Windows 7, але очевидно, що з ним працює той же тег.

Примітка. Єдине, що має у цьому рішенні, вам потрібно мати на своїй машині файл googleapps.exe. Я вважаю, що я отримав це з мого безкоштовного GooglePack з їхнього сайту, який зараз припинено. Я спробував шукати в мережі спосіб її завантаження, але, як не дивно, здається, що це зарезервовано лише для підприємств зараз, і немає посилання для завантаження в Інтернеті, тому що всі, хто має його, передавали його за допомогою програми оновлення google .. Незвичайно. Все одно удачі!


1

Іншим рішенням є реалізація власного користувальницького спливаючого вікна / форми / користувальницького контролю, який буде загально інтерпретований у всіх браузерах.

Зрозумівши це, це не виведе "пошту" поза можливостями коробки. Все залежить від того, над якою прихильністю ви працюєте. На жаль для себе - поштовий поштовий сервіс повинен був бути доступним для всіх за замовчуванням, не «доставляючи незручності клієнту».

Ваше рішення в кінцевому рахунку.


1

У macOS перевірте також налаштування Mail.app, яке додаток вибрано як додаток електронної пошти за замовчуванням / пов’язане із mailto:посиланнями:

Якщо ви коли-небудь натискали це сповіщення в Gmail, що дозволяє відкривати посилання в Gmail замість вашого додатка - і після цього скиньте обробник Chrome , вам доведеться редагувати це вручну в налаштуваннях Mail.app.

Знімок екрана


0

Звичайна <a href="mailto:hi@hi.com"></a>повинна працювати, але пам’ятайте, що на комп’ютері має бути встановлена ​​програма електронної пошти за замовчуванням. Наприклад, я використовую Ubuntu 14.04, а електронна пошта за замовчуванням - thunderbird, що працює чудово.


0

"Використовуйте Chrome, запрошуйте проблеми" - Anonymous. (Просто символічна довідка)

Ну, Chrome відомий багатьма утилітами, що підтримують безпеку за замовчуванням, і саме звідки виникла ваша проблема.

Однак це можна скасувати, "встановивши клієнта електронної пошти за замовчуванням" (оскільки клієнт електронної пошти за замовчуванням не встановлений) або встановивши обробник за замовчуванням у розділі "chrome: // settings / handlers" (за замовчуванням встановлено значення " Ігнорувати ').


1
Так, це одна з найчастіших причин. І, запропоноване рішення, безумовно, має спрацювати.

0

Я вирішив проблему за допомогою цього коду:

    
<button onclick="email()">Contact me !</button>	

<script>
function email() {
    var str = window.open('mailto:aaaaaa@aaaaaa.net', '_blank');
}
</script>

Це працювало на мене як на чарівність!


-3

Ви також можете використовувати подібне,

<a href="javascript:void(0);" onclick="javascript:window.location.href='mailto:info@example.com'; return false;">info@example.com</a>

Я думаю, що це найкращий спосіб вирішити хронічні проблеми.

Дякую..


'0', а не 'o' в void(). Здається, це не дуже добре спрацювало для мене. Чи є ще щось, що потрібно додати?
Роб

-7

Будь ласка, перевірте це:

Це працює в chrome та у всіх браузерах.

<a href="mailto:test.test@gmail.com">Test</a>

спробувати і чудово працювати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.