Downloading VCF file on iPhone browserHow can I develop for iPhone using a Windows development machine?How can I upload files asynchronously?How do I include a JavaScript file in another JavaScript file?iPhone: how to get safari to recognize a vcard?Get the size of the screen, current web page and browser windowHow to add vCard's base 64 string to vCalendarsafari upload csv file open a plain text in the browsernot able to download vcard on iphone ChromeNodeJS/ReactJS: Create downloadable file with string for mobile browserexporting .vcf contact in mobile web app capable aka HomeScreen app

Visualizing the difference curve in a 2D plot?

How would you translate "more" for use as an interface button?

How to test the sharpness of a knife?

Usage of an old photo with expired copyright

Language involving irrational number is not a CFL

Why is the Sun approximated as a black body at ~ 5800 K?

Do people actually use the word "kaputt" in conversation?

Isometric embedding of a genus g surface

PTIJ: Which Dr. Seuss books should one obtain?

Why Shazam when there is already Superman?

Can I run 125kHz RF circuit on a breadboard?

Why would five hundred and five be same as one?

Why can't the Brexit deadlock in the UK parliament be solved with a plurality vote?

Quoting Keynes in a lecture

How do I prevent inappropriate ads from appearing in my game?

Make a Bowl of Alphabet Soup

Does the Crossbow Expert feat's extra crossbow attack work with the reaction attack from a Hunter ranger's Giant Killer feature?

Unable to disable Microsoft Store in domain environment

Mimic lecturing on blackboard, facing audience

Is there a reason to prefer HFS+ over APFS for disk images in High Sierra and/or Mojave?

Has the laser at Magurele, Romania reached a tenth of the Sun's power?

What is the meaning of "You've never met a graph you didn't like?"

Why does the Persian emissary display a string of crowned skulls?

When and why was runway 07/25 at Kai Tak removed?



Downloading VCF file on iPhone browser


How can I develop for iPhone using a Windows development machine?How can I upload files asynchronously?How do I include a JavaScript file in another JavaScript file?iPhone: how to get safari to recognize a vcard?Get the size of the screen, current web page and browser windowHow to add vCard's base 64 string to vCalendarsafari upload csv file open a plain text in the browsernot able to download vcard on iphone ChromeNodeJS/ReactJS: Create downloadable file with string for mobile browserexporting .vcf contact in mobile web app capable aka HomeScreen app













2















I am trying to download a vcf file in my mobile web app, without hitting the server.



 function downloadVcf(filename, data) 
var element = document.createElement('a');
element.setAttribute('href', 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data));
element.setAttribute('download', filename);

element.style.display = 'none';
document.body.appendChild(element);

element.click();

document.body.removeChild(element);



The code above works very well while debugging on chrome browser with windows OS. Also it works perfectly fine on chrome browser on android phones. But it does not work on iPhone browser (safari). Instead of downloading the vcf file it opens the VCF file in browser. But it does have option for user to import it to other apps (contacts for instance). But what I want is to download the VCF file in user's iPhone.



Please help.










share|improve this question




























    2















    I am trying to download a vcf file in my mobile web app, without hitting the server.



     function downloadVcf(filename, data) 
    var element = document.createElement('a');
    element.setAttribute('href', 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data));
    element.setAttribute('download', filename);

    element.style.display = 'none';
    document.body.appendChild(element);

    element.click();

    document.body.removeChild(element);



    The code above works very well while debugging on chrome browser with windows OS. Also it works perfectly fine on chrome browser on android phones. But it does not work on iPhone browser (safari). Instead of downloading the vcf file it opens the VCF file in browser. But it does have option for user to import it to other apps (contacts for instance). But what I want is to download the VCF file in user's iPhone.



    Please help.










    share|improve this question


























      2












      2








      2








      I am trying to download a vcf file in my mobile web app, without hitting the server.



       function downloadVcf(filename, data) 
      var element = document.createElement('a');
      element.setAttribute('href', 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data));
      element.setAttribute('download', filename);

      element.style.display = 'none';
      document.body.appendChild(element);

      element.click();

      document.body.removeChild(element);



      The code above works very well while debugging on chrome browser with windows OS. Also it works perfectly fine on chrome browser on android phones. But it does not work on iPhone browser (safari). Instead of downloading the vcf file it opens the VCF file in browser. But it does have option for user to import it to other apps (contacts for instance). But what I want is to download the VCF file in user's iPhone.



      Please help.










      share|improve this question
















      I am trying to download a vcf file in my mobile web app, without hitting the server.



       function downloadVcf(filename, data) 
      var element = document.createElement('a');
      element.setAttribute('href', 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data));
      element.setAttribute('download', filename);

      element.style.display = 'none';
      document.body.appendChild(element);

      element.click();

      document.body.removeChild(element);



      The code above works very well while debugging on chrome browser with windows OS. Also it works perfectly fine on chrome browser on android phones. But it does not work on iPhone browser (safari). Instead of downloading the vcf file it opens the VCF file in browser. But it does have option for user to import it to other apps (contacts for instance). But what I want is to download the VCF file in user's iPhone.



      Please help.







      javascript iphone mobile-safari vcf






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Feb 27 at 15:17







      Savaratkar

















      asked Feb 25 at 17:15









      SavaratkarSavaratkar

      1,3321629




      1,3321629






















          2 Answers
          2






          active

          oldest

          votes


















          2





          +50









          Setting document.location.href to the value of your data URI should work:



          function downloadVcf(data) 

          // build data url
          var url = 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data);

          // ask the browser to download it
          document.location.href = url;







          share|improve this answer


















          • 1





            I will try this method on iPhone browser and will inform the result. :)

            – Savaratkar
            Mar 6 at 9:04











          • Hello John, this solution is not working on iPhone browser safari. :(

            – Savaratkar
            Mar 7 at 10:40












          • Sorry to hear that. Have you tried github.com/eligrey/FileSaver.js ?

            – John Doherty
            Mar 7 at 11:14


















          1














          Since vCard Specification 4, the mime type text/x-vcard is deprecated. Only the mime type text/vcard (without x-) is valid. Check if iOS browsers do fail because of the mime type in the beginning of your data url.






          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54871408%2fdownloading-vcf-file-on-iphone-browser%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2





            +50









            Setting document.location.href to the value of your data URI should work:



            function downloadVcf(data) 

            // build data url
            var url = 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data);

            // ask the browser to download it
            document.location.href = url;







            share|improve this answer


















            • 1





              I will try this method on iPhone browser and will inform the result. :)

              – Savaratkar
              Mar 6 at 9:04











            • Hello John, this solution is not working on iPhone browser safari. :(

              – Savaratkar
              Mar 7 at 10:40












            • Sorry to hear that. Have you tried github.com/eligrey/FileSaver.js ?

              – John Doherty
              Mar 7 at 11:14















            2





            +50









            Setting document.location.href to the value of your data URI should work:



            function downloadVcf(data) 

            // build data url
            var url = 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data);

            // ask the browser to download it
            document.location.href = url;







            share|improve this answer


















            • 1





              I will try this method on iPhone browser and will inform the result. :)

              – Savaratkar
              Mar 6 at 9:04











            • Hello John, this solution is not working on iPhone browser safari. :(

              – Savaratkar
              Mar 7 at 10:40












            • Sorry to hear that. Have you tried github.com/eligrey/FileSaver.js ?

              – John Doherty
              Mar 7 at 11:14













            2





            +50







            2





            +50



            2




            +50





            Setting document.location.href to the value of your data URI should work:



            function downloadVcf(data) 

            // build data url
            var url = 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data);

            // ask the browser to download it
            document.location.href = url;







            share|improve this answer













            Setting document.location.href to the value of your data URI should work:



            function downloadVcf(data) 

            // build data url
            var url = 'data:text/x-vcard;charset=utf-8,' + encodeURIComponent(data);

            // ask the browser to download it
            document.location.href = url;








            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Mar 5 at 22:27









            John DohertyJohn Doherty

            1,2861117




            1,2861117







            • 1





              I will try this method on iPhone browser and will inform the result. :)

              – Savaratkar
              Mar 6 at 9:04











            • Hello John, this solution is not working on iPhone browser safari. :(

              – Savaratkar
              Mar 7 at 10:40












            • Sorry to hear that. Have you tried github.com/eligrey/FileSaver.js ?

              – John Doherty
              Mar 7 at 11:14












            • 1





              I will try this method on iPhone browser and will inform the result. :)

              – Savaratkar
              Mar 6 at 9:04











            • Hello John, this solution is not working on iPhone browser safari. :(

              – Savaratkar
              Mar 7 at 10:40












            • Sorry to hear that. Have you tried github.com/eligrey/FileSaver.js ?

              – John Doherty
              Mar 7 at 11:14







            1




            1





            I will try this method on iPhone browser and will inform the result. :)

            – Savaratkar
            Mar 6 at 9:04





            I will try this method on iPhone browser and will inform the result. :)

            – Savaratkar
            Mar 6 at 9:04













            Hello John, this solution is not working on iPhone browser safari. :(

            – Savaratkar
            Mar 7 at 10:40






            Hello John, this solution is not working on iPhone browser safari. :(

            – Savaratkar
            Mar 7 at 10:40














            Sorry to hear that. Have you tried github.com/eligrey/FileSaver.js ?

            – John Doherty
            Mar 7 at 11:14





            Sorry to hear that. Have you tried github.com/eligrey/FileSaver.js ?

            – John Doherty
            Mar 7 at 11:14













            1














            Since vCard Specification 4, the mime type text/x-vcard is deprecated. Only the mime type text/vcard (without x-) is valid. Check if iOS browsers do fail because of the mime type in the beginning of your data url.






            share|improve this answer



























              1














              Since vCard Specification 4, the mime type text/x-vcard is deprecated. Only the mime type text/vcard (without x-) is valid. Check if iOS browsers do fail because of the mime type in the beginning of your data url.






              share|improve this answer

























                1












                1








                1







                Since vCard Specification 4, the mime type text/x-vcard is deprecated. Only the mime type text/vcard (without x-) is valid. Check if iOS browsers do fail because of the mime type in the beginning of your data url.






                share|improve this answer













                Since vCard Specification 4, the mime type text/x-vcard is deprecated. Only the mime type text/vcard (without x-) is valid. Check if iOS browsers do fail because of the mime type in the beginning of your data url.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 7 at 22:07









                Christoph BimmingerChristoph Bimminger

                777221




                777221



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54871408%2fdownloading-vcf-file-on-iphone-browser%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

                    2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived

                    Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme