2011-09-13 26 views
7

Có cách nào để thêm Google plus +1 nút theo js động không? Tôi cần điều đó bởi vì một trang có nhiều URL để chia sẻ và họ nhận được bằng AJAX. Vì vậy, khi tôi nhận được URL cần thiết, tôi muốn tạo "+1" -s ở một số nơi trên trang.Thêm Google + nút +1 động và sự cố IE8

Tôi đã viết mã kiểm tra mà làm việc trong tất cả các trình duyệt trừ IE8 (IE7 không được hỗ trợ bởi Google tại tất cả):

<div class="googlePlusBtn"></div> 
<a href="#" class="addGooglePlus">Click me!</a> 
<script type="text/javascript"> 
jQuery(function(){ 
    jQuery('.googlePlusBtn').html('<g:plusone annotation="inline"></g:plusone>'); 
    jQuery('a.addGooglePlus').click(function() 
    { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     return false; 
    }) 
}) 
</script> 

Ông có thể giúp tôi?

UPD: Đã sửa lỗi. Giải pháp là dưới đây:

<div id="googlePlusBtn"></div> 
<a href="#" class="addGooglePlus">Click me!</a> 
<script type="text/javascript"> 
jQuery(function(){ 
      var po = document.createElement('g:plusone'); 
      var s = document.getElementById('googlePlusBtn'); 
     s.appendChild(po); 
    jQuery('a.addGooglePlus').click(function() 
    { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     return false; 
    }) 
}) 
</script> 

Vì vậy, chỉ cần thay đổi phương pháp tạo ra tài liệu từ jQuery để làm sạch Javascript. IE8 làm việc với điều đó!

+0

Bạn nên đăng câu trả lời của mình làm câu trả lời để câu trả lời có thể được đánh dấu là câu trả lời chính xác. Điều đó sẽ kéo câu hỏi của bạn ra khỏi danh sách chưa được trả lời trên SO. –

+0

Cảm ơn bạn! Tôi không biết ... Xong. –

+0

Bạn cũng có thể chấp nhận câu trả lời của riêng bạn (-: –

Trả lời

3

Giải pháp là dưới đây:

<div id="googlePlusBtn"></div> 
<a href="#" class="addGooglePlus">Click me!</a> 
<script type="text/javascript"> 
jQuery(function(){ 
      var po = document.createElement('g:plusone'); 
      var s = document.getElementById('googlePlusBtn'); 
     s.appendChild(po); 
    jQuery('a.addGooglePlus').click(function() 
    { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     return false; 
    }) 
}) 
</script> 

Vì vậy, chỉ cần thay đổi phương pháp tạo ra tài liệu từ jQuery để làm sạch Javascript. IE8 làm việc với điều đó!

Các vấn đề liên quan