2012-10-05 38 views
-1

我想創建一個按鈕我的網站,當從智能手機點擊時,它將允許用戶導入我的聯繫信息。在智能手機上與網站建立新的聯繫

看來你可以用vcard來做到這一點,但這需要智能手機用戶安裝額外的軟件才能使其工作。

是否有類似於「tel:」href-tag可以觸發數據導入到手機的聯繫人?

+0

我不知道這是否是一個好主意....由它的聲音,那相當於「撥號號碼轟炸」,其中號碼是最終用戶可能以昂貴的電話賬單結束的高級號碼......只是說;考慮到最近的USSD漏洞,我會拒絕如果是這樣的話,促使我撥打某某某號碼......不,謝謝! – t0mm13b

+0

這些可以如何比較?在我看來,OP希望製作一個按鈕「添加我的聯繫信息」,然後在手機上創建一個聯繫人。沒有更多,沒有更多。 – Emil

回答

0

看看this,它使用VCalendar方法來實現從網頁上的聯繫人存儲。

完整的代碼示例在這裏引述:

<?php 
# Send correct headers  
header("Content-type: text/x-vcalendar; charset=utf-8"); 
# Alternatively: application/octet-stream 
# Depending on the desired browser behaviour 
# Be sure to test thoroughly cross-browser 

header("Content-Disposition: attachment; filename=\"iphonecontact.ics\";"); 
# Output file contents - simple version 
#echo file_get_contents("iphonecontact.ics"); 

# Generate file contents - advanced version 
# BEGIN:VCALENDAR 
# VERSION:2.0 
# BEGIN:VEVENT 
# DTSTART;TZID=Europe/London:20120617T090000 
# DTEND;TZID=Europe/London:20120617T100000 
# SUMMARY:iPhone Contact 
# DTSTAMP:20120617T080516Z 
# ATTACH;VALUE=BINARY;ENCODING=BASE64;FMTTYPE=text/directory; 
# X-APPLE-FILENAME=iphonecontact.vcf: 
# QkVHSU46VkNBUkQNClZFUlNJT046My4wDQpOOkNvbnRhY3Q7aVBob25lOzs7DQpGTjppUGhvbm 
# UgQ29udGFjdA0KRU1BSUw7VFlQRT1JTlRFUk5FVDtUWVBFPVdPUks6aXBob25lQHRoZXNpbGlj 
# b25nbG9iZS5jb20NClRFTDtUWVBFPUNFTEw7VFlQRT1WT0lDRTtUWVBFPXByZWY6KzQ0MTIzND 
# U2Nzg5MA0KRU5EOlZDQVJE 
# END:VEVENT 
# END:VCALENDAR 

echo "BEGIN:VCALENDAR\n"; 
echo "VERSION:2.0\n"; 
echo "BEGIN:VEVENT\n"; 
echo "SUMMARY:Click attached contact below to save to your contacts\n"; 
$dtstart = date("Ymd")."T".date("Hi")."00"; 
echo "DTSTART;TZID=Europe/London:".$dtstart."\n"; 
$dtend = date("Ymd")."T".date("Hi")."01"; 
echo "DTEND;TZID=Europe/London:".$dtend."\n"; 
echo "DTSTAMP:".$dtstart."Z\n"; 
echo "ATTACH;VALUE=BINARY;ENCODING=BASE64;FMTTYPE=text/directory;\n"; 
echo " X-APPLE-FILENAME=iphonecontact.vcf:\n"; 
$vcard = file_get_contents("iphonecontact.vcf");  # read the file into memory 
$b64vcard = base64_encode($vcard);      # base64 encode it so that it can be used as an attachemnt to the "dummy" calendar appointment 
$b64mline = chunk_split($b64vcard,74,"\n");    # chunk the single long line of b64 text in accordance with RFC2045 (and the exact line length determined from the original .ics file exported from Apple calendar 
$b64final = preg_replace('/(.+)/', ' $1', $b64mline); # need to indent all the lines by 1 space for the iphone (yes really?!!) 
echo $b64final;           # output the correctly formatted encoded text 
echo "END:VEVENT\n"; 
echo "END:VCALENDAR\n"; 
?> 

(由史蒂夫GROBE原來的答覆 - iPhone: how to get safari to recognize a vcard?

相關問題