Tautan mailto tidak melakukan apa pun di Chrome selain berfungsi di Firefox?


149

Sepertinya mailtotautan yang kami tanam di situs web kami gagal melakukan apa pun di Chrome, meskipun tautan itu berfungsi di Firefox.

Contoh sederhana di sini: http://jsfiddle.net/wAPNH/

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

Apakah kita perlu melakukan sesuatu yang khusus untuk mengaktifkan tautan email di Chrome?


Baik untuk saya, apakah Anda memiliki beberapa ekstensi Chrome atau sesuatu yang akan mengganggu?
Ryan Kempt

Aplikasi mana yang terbuka di FF ketika Anda mengklik tautan mailto?
mohkhan

1
Saya mencoba di chrome 28 dan tautan JSfiddle bekerja dengan baik untuk saya (berjalan di mac, dan membuka mail.app).
sasbury

Saya telah menemukan bahwa melakukan mailto:test%40test.comlebih konsisten
Pro Q

Jawaban:


128

Ini adalah pengaturan browser khusus, yaitu akan berperilaku berbeda tergantung pada pengaturan browser pengguna. Pengguna dapat mengubah cara mailto:tautan di chrome dengan mengunjungi chrome://settings/handlers, atauChrome Settings->Content Settings->Manage Handlers...

Jika "email" tidak tercantum pada halaman itu, maka lihat jawaban ini mengenai bagaimana untuk melanjutkan.


7
bagus, apa perilaku standarnya?
Crashalot

8
Saya percaya defaultnya adalah menjalankan klien email di komputer. Saya tahu di tempat kerja, itu akan menjalankan thunderbird; jika mereka telah menginstal pandangan itu dapat menjalankan pandangan, dll. Secara pribadi, itu tidak menjalankan gmail secara default, saya harus mengaturnya seperti itu.
kennypu

2
@ Crashalot nggak. tautan mailto adalah tautan mailto
kennypu

48
Membuka chrome: // pengaturan / penangan memberi saya sebuah kotak kosong tanpa opsi untuk menambahkan penangan. Sepertinya Chrome rusak parah di sini: itu tidak akan membuka mailer yang saya konfigurasikan (Thunderbird) sebagai tanggapan terhadap tautan mailto.
Peter Flynn

3
@PeterFlynn sepertinya chrome sekarang akan mencoba menjalankan klien email default yang diinstal pada komputer. Pastikan thunderbird ditetapkan sebagai klien email default. Lihat tautan ini tentang cara melakukannya: kb.mozillazine.org/Default_mail_client#Windows
kennypu

107

Ini karena chrome menangani mailto dengan cara yang berbeda. Anda dapat pergi ke chrome://settings/handlersdan memastikan yang merupakan penangan default. Dalam kasus Anda itu tidak akan ada (yaitu tidak terdaftar). Sekarang buka gmail.com. Anda akan melihat sesuatu seperti ini ketika Anda mengklik tombol di sebelah tombol bookmark.

Setel mailto di chrome

Jika Anda ingin membuka semua tautan email melalui gmail maka setel "Gunakan Gmail". Sekarang ketika Anda mengklik tombol mailto, chrome akan secara otomatis terbuka di gmail.


1
Ini bekerja untuk saya, tanpa terlebih dahulu mengunjungi gmail dan mengklik "izinkan gmail ..." tidak ada penangan dalam pengaturan yang akan diubah
chrismarx

1
Gmail? Apa hubungannya Gmail dengan ini? Saya ingin Chrome membuka Thunderbird alih-alih membuka instance baru Chrome.
Peter Flynn

Goto chrome: // pengaturan / penangan untuk mengatur penangan Anda.
Rajesh Hegde

1
@ Gi1ber7 Anda dapat membuka chrome: // settings / handler untuk mengubah pengaturan mailto.
Rajesh Hegde

1
saya tidak punya penangan di sana. dengan
Boris Gafurov

42

Dalam kasus saya, chrome dikaitkan sebagai protokol MAILTO di Windows 10 .

Saya mengubah asosiasi ke Outlook menggunakan "Program Default" -> "Menghubungkan jenis file atau protokol dengan program" .

MAILTO ada jauh di bawah ini dalam daftar. Tangkapan layar ini dapat membantu.

masukkan deskripsi gambar di sini


Oke, tetapi bagaimana jika kita ingin membuka di situs web tertentu daripada aplikasi?
Kyle Delaney

2
Menggunakan Windows 10, saya harus memilih Outlook di daftar sebelah kiri sebelum saya bisa melihat kotak centang protokol 'mailto' di daftar di sebelah kanan.
Tom McDonald

15

Saya juga mengalami masalah ini, dan akhirnya melacaknya dengan fakta bahwa tautan saya ada dalam iframe, dan aplikasi web saya menggunakan https. Chrome memblokirnya karena ini (Chrome akan membuka tautan mailto lain di luar iframe).

Di tautan mailto yang tidak berfungsi dalam bingkai chrome (lebih dari https) , kendsnyder disebutkan hanya berubah

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

untuk

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

Voila, masalah terpecahkan. Tautan mailto itu sekarang berfungsi di semua browser.


Saya ingin tahu apakah menggunakan target=_parent"juga akan berhasil. Bagus temukan.
Termato

Terima kasih. Bekerja dengan baik. @Termato, itu mungkin akan berfungsi jika itu adalah frame "atas". Cukup gunakan target="_top"atau jika menggunakan JavaScript:window.top.location.href = 'mailto:...'
Neil Monroe

Sekarang target = "_ top" juga tidak berfungsi :( solusi alternatif apa pun. Saya mencoba dengan "_parent" dan tidak berfungsi juga.
Vijay Mishra

target="_top"bekerja untuk saya dalam iframe di Google Chrome
John Doherty

@ Basj bekerja dengan baik di Chrome (terbaru) saya. Apakah Anda memiliki klien email default di komputer Anda?
Thomas Ayoub

13

Anda perlu mengizinkan gmail untuk menginstal handler layanan untuk protokol mailto:

1) buka gmail

2) klik ikon belah ketupat kecil di akhir bilah alamat (tangkapan layar)

3) nikmati

masukkan deskripsi gambar di sini


saya tidak melihat hal seperti itu
Boris Gafurov

@BorisGafurov apakah versi Chrome Anda mutakhir?
jj_

7

Anda dapat mencoba pergi ke chrome://settings/handlersdan set nilai mailto:ke nonebukannyagmail


7
Sama di sini: chrome 27 tidak memiliki handler untuk mailto didefinisikan atau hal lain dalam hal ini .. aneh, mungkin standar keamanan baru di chrome. Dalam FF saya harus menambahkannya secara manual juga.
Robert Hoffmann

Sama disini. Chrome pada dasarnya rusak pada tautan mailto
Peter Flynn

6

Perbaikan yang berhasil bagi saya karena penangan Protokol saya kosong

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

Lihat redfish43 balasan, untuk meringkas

Untuk mailto: - Pastikan Anda masuk ke Gmail dan jendela aktif adalah halaman utama Gmail Anda (atau tidak akan terjadi apa-apa). - Salin / rekatkan ini ke bilah alamat:

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

Tambahkan javascript: ke depan lagi jika diperlukan, karena ketika Anda menempelkannya, Chrome mungkin memangkas semuanya sebelum dan termasuk titik dua. Lalu tekan enter.

Ketika jendela sembulan terbuka klik pada "Izinkan"


Bagaimana dengan outlook.com?
Kyle Delaney


2

Saya menemukan jawaban ini di forum Google yang telah membantu saya. Di catatan kaki itu disebutkan 'googleapps.exe' - Saya tidak punya ini dan masih berfungsi. Cukup ikuti instruksi di bawah ini tetapi tutup semua aplikasi sebelum membuat perubahan pada Registry. Saya juga menyimpan nilai yang ada kalau-kalau tidak berfungsi.


Cukup ketik "jalankan" di bilah pencarian Anda, lalu ketik "regedit" lalu lanjutkan ke:

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

edit (klik dua kali) "(Default)" ke:

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

Itu dia! Simpan dan tutup dan itu akan bekerja dengan indah!

Menggunakan metode ini mencegah Anda dari harus mengunduh GMail Notifier, yang bagi kita dengan GTalk tidak perlu karena itu melakukannya untuk kita. Saya tidak yakin mengapa Google tidak dapat menyelesaikan masalah ini dengan mudah .. Saya pernah mendengar Google Apps belum diuji sepenuhnya pada Windows 7 tetapi jelas tag yang sama berfungsi dengannya.

Catatan: Satu-satunya hal dengan solusi ini adalah Anda harus memiliki file googleapps.exe di mesin Anda. Saya yakin saya mendapatkannya dengan GooglePack gratis saya dari situs mereka yang sekarang telah dihentikan. Saya mencoba mencari di internet cara untuk mengunduhnya tetapi anehnya itu tampaknya hanya diperuntukkan bagi Bisnis sekarang dan tidak ada tautan unduhan yang tersedia dari web karena semua orang yang memilikinya mengalirkannya menggunakan google updater .. Aneh. Pokoknya selamat mencoba!


1

Solusi lain adalah menerapkan kontrol popup / form / user kustom Anda sendiri yang akan ditafsirkan secara universal di semua browser.

Memang ini tidak akan meningkatkan kemampuan "mailto" di luar kotak. Itu semua tergantung pada kepatuhan ketersediaan apa yang sedang Anda lawan. Sayangnya untuk saya sendiri - mailto harus tersedia untuk semua orang secara default tanpa "menyusahkan klien".

Keputusan Anda pada akhirnya.


1

Pada MacOS, periksa juga pengaturan Mail.app, yang mana App dipilih sebagai aplikasi email default / terkait dengan mailto:tautan:

Jika Anda mengeklik pemberitahuan itu di Gmail, yang memungkinkan untuk membuka tautan di Gmail sebagai gantinya Aplikasi Anda - dan setelah ini mengatur ulang penangan Chrome , Anda harus mengedit ini secara manual di Pengaturan Mail.app Anda.

Tangkapan layar


0

Biasa <a href="mailto:hi@hi.com"></a>harus bekerja, tetapi ingat Anda harus memiliki program email default yang ditetapkan di komputer Anda. Sebagai contoh, saya menggunakan Ubuntu 14.04 dan email default adalah thunderbird, yang berfungsi dengan baik.


0

'Gunakan Chrome, undang masalah' - Anonim. (Hanya referensi simbolis)

Yah, Chrome terkenal terkenal karena banyak utilitas yang mengaktifkan keamanan default, dan dari situlah masalah Anda berasal.

Namun, ini dapat dibatalkan dengan 'mengatur klien email default' (karena klien email default tidak disetel), atau dengan mengatur handler default di bawah 'chrome: // settings / handler' (secara default, ini diatur ke ' Mengabaikan').


1
Ya, ini adalah salah satu alasan paling sering. Dan, solusi yang disarankan tentu harus berhasil.

0

Saya memecahkan masalah menggunakan kode ini:

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

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

Itu bekerja untuk saya seperti pesona!


-3

Anda dapat menggunakan seperti ini juga,

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

Saya pikir ini adalah cara terbaik untuk menyelesaikan masalah chrome.

Terima kasih..


'0', bukan 'o' in void(). Tampaknya ini tidak berfungsi dengan baik untuk saya. Apakah ada hal lain yang perlu ditambahkan?
Rob

-7

Silakan periksa ini:

Ini berfungsi di chrome dan semua browser.

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

coba dan bekerja dengan baik.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.