Bagaimana untuk menyimpan vCards-js secara automatik ke kenalan iPhone dan Android
P粉722409996
P粉722409996 2024-03-26 22:47:43
0
1
449

Saya cuba menyimpan vCard pada telefon pengguna (IOS dan ANDROID). Saya menggunakan kod ini

window.addEventListener("load", function () {
  // Contact Information
  var contact = {
    ...
  };
  // create a vcard file
  var vcard = "BEGIN:VCARD\nVERSION:3.0\n"
    + "N:" + contact.name + ";;;\n"
    + "FN:" + contact.name + "\n"
    + "TEL;CELL:" + contact.phone + "\n"
    + "TEL;CELL:" + contact.mobile + "\n"
    + "EMAIL;HOME:" + contact.email + "\n"
    + "ADR;HOME:" + contact.address + "\n"
    + "ORG;WORK:" + contact.organization + "\n"
    + "TITLE:" + contact.title + "\n"
    + "URL:" + contact.url + "\n"
    + "NOTE:" + contact.notes + "\n"
    + "END:VCARD";  
  
  // var vcard = "BEGIN:VCARD\nVERSION:4.0\nFN:" + contact.name + "\nTEL;TYPE=work,voice:" + contact.phone + "\nEMAIL:" + contact.email + "\nEND:VCARD";
  var blob = new Blob([vcard], { type: "text/vcard" });
  var url = URL.createObjectURL(blob);
  
  const newLink = document.createElement('a');
  newLink.download = contact.name + ".vcf";
  newLink.textContent = contact.name;
  newLink.href = url;
  
  newLink.click();

  // window.close();
});

Ia berfungsi, tetapi kod ini pada telefon Android mula-mula memuat turun vkad, kemudian pengguna perlu mengklik muat turun untuk mengimport. Apa yang saya mahu ialah apabila pengguna datang ke halaman ini, kenalan saya disimpan secara automatik pada Android tanpa memuat turun sebarang fail. (Pada IOS ini tidak menjadi masalah kerana apabila pengguna melawat tapak web ini, mereka dialihkan secara automatik untuk mengimport kenalan)

注意: 我之前已经播过一个带有二维码的示例。当我扫描二维码时,他们将我重定向到导入联系人,我需要做的只是在手机上单击 save

Saya mahu perkara yang sama seperti https://www.qr-code-generator.com apabila mengklik tab vCard. Tetapi apabila halaman dimuat semula, kod QR tidak diimbas

P粉722409996
P粉722409996

membalas semua(1)
P粉116631591

Anda perlu menambah kaedah web share Mengikut kod anda, anda boleh menambah navigator.share() Jika syaratnya seperti menyemak sama ada API ini disokong oleh penyemak imbas, pautan muat turun lain akan menjadi secara automatik dimuat turun.

Suka kod yang dikemas kini di bawah:-

window.addEventListener("load", function () {
  // Contact Information
  var contact = {
    ...
  };
  // create a vcard file
  var vcard = "BEGIN:VCARD\nVERSION:3.0\n"
    + "N:" + contact.name + ";;;\n"
    + "FN:" + contact.name + "\n"
    + "TEL;CELL:" + contact.phone + "\n"
    + "TEL;CELL:" + contact.mobile + "\n"
    + "EMAIL;HOME:" + contact.email + "\n"
    + "ADR;HOME:" + contact.address + "\n"
    + "ORG;WORK:" + contact.organization + "\n"
    + "TITLE:" + contact.title + "\n"
    + "URL:" + contact.url + "\n"
    + "NOTE:" + contact.notes + "\n"
    + "END:VCARD";  
  
  // var vcard = "BEGIN:VCARD\nVERSION:4.0\nFN:" + contact.name + "\nTEL;TYPE=work,voice:" + contact.phone + "\nEMAIL:" + contact.email + "\nEND:VCARD";
  var blob = new Blob([vcard], { type: "text/vcard" });
  var url = URL.createObjectURL(blob);
  
  if (navigator.share) {
  
    navigator.share({
    
      title: 'New Contacts',
      text: 'Save contacts',
      files: [new File([blob], 'newcontact.vcf', { type: 'text/vcard' })],
    }).then(() => { });

  } else {
      const newLink = document.createElement('a');
      newLink.download = contact.name + ".vcf";
      newLink.textContent = contact.name;
      newLink.href = url;

      newLink.click();

      // window.close();
  
  }
});
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan