2015-07-25 39 views
5

Olması gerektiği gibi basit, bu kod AngularJS kodlarını algılayamayacağı için çalışmaz. Whatsapp AngularJS'de Paylaşım

<a href="whatsapp://send?text={{challenge.challenge_title}}" 
      data-action="{{FullURL}}">Whatsapp</a> 

ben bu için bir emir gerekiyor mu? Eğer evet ise, bu nedir? AngularJS deneyimi olan biri, lütfen yardım edin.

cevap

9

href bağlantı noktasını config köşeli açınızın içinde, whatsapp öneki ile href'inize izin verecek şekilde çapalama işlemini yapmanız gerekir.

Kod

app.config(function($compileProvider){ 
    //other configuration code here 
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(whatsapp):/); 
}) 

bak detaylar için bu SO Question.

+0

@ user3362364 yapmak başka bir şeydir yol işaretlenir benim cevaba bakabilir misin? –

+0

Bunun için üzgünüz. Test ettim ve işe yaramadı. Yorum yapmak için daha fazla insan bekliyordum ve zaman geçti. Kodunuzu app.js'ye ekledim ve bir yarı kolonla sonlandırdım ama şu hatayla çalışmadı (Ben bir yeni kullanıcıyım): ReferenceError: $ compileProvider tanımlı değil. Not: AngularJS adamım başka bir 10 günlüğüne izinlidir – user3362364

+0

Lütfen, {{FullURL}} yerine/ gibi bir bağlantı eklediğimde mükemmel bir şekilde çalıştığını unutmayın. – user3362364

0

$ compileProvider.aHrefSanitizationWhitelist (/^\ s * (whatsapp): kullanıldıktan sonra güvenli olmayan bir URL sorunu yaşadım: /); açısal dokümanları okuduğumda:

aHrefSanitizationWhitelist ([regexp]); [href] sanitizasyonu sırasında güvenli URL'lerin beyaz listeye alınması için kullanılan varsayılan normal ifadeyi alır veya geçersiz kılar. Sanitizasyon, XSS saldırılarını html linkleri ile engellemeyi amaçlayan bir güvenlik önlemidir. Veri bağlama yoluyla bir [href] öğesine atanacak herhangi bir url ilk önce normalleştirilir ve mutlak bir URL'ye dönüştürülür. Daha sonra, url aHrefSanitizationWhitelist düzenli ifadesine karşı eşleştirilir. Bir eşleşme bulunursa, orijinal url dom'a yazılır. Aksi halde, mutlak url 'güvensiz:' dizesi ile öneklenir ve ancak DOM'a yazılır. "Bir eşleşme bulunursa, özgün url dom içine yazılır. Aksi halde mutlak url 'güvensiz:' dizgisiyle öneklenir ve yalnızca DOM'a yazılır." WhatsApp dışındaki diğer tüm URL'ler için Yani, maç bulunmayacak ve güvensiz

gibi bir direktif

angular.module('shareLink') 
 
    .directive('whatsApp', function(){ 
 
    return{ 
 
     link: function (scope, elem, $attr){ 
 
      elem.on('click', function(){ 
 
       var text = $attr.text; 
 
       var url = $attr.whatsApp; 
 
       var message = encodeURIComponent(text) + " - " + encodeURIComponent(url); 
 
       var whatsapp_url = "whatsapp://send?text=" + message; 
 
       window.location.href = whatsapp_url; 
 

 
      }); 
 
     } 
 
    } 
 
});
<a class="sharelink whatsapp" data-action="share/whatsapp/share" data-text="you can add title or any text here" whats-app="{{url}}"> 
 
         <i class="fa fa-whatsapp "></i> WHATSAPP 
 
        </a>

+0

Lütfen daha net bir şekilde yazınız. – STF

İlgili konular