[JavaScript] ช่วยดูสคริปหน่อยครับ มันรันด้วย jQuery ของ Wordpress ไม่ได้

เริ่มโดย xmen256k, 27 ตุลาคม 2014, 15:24:38

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

xmen256k

สืบเนื่องจากผมต้องการทำปุ่มแชร์บนโซเชียลด้วยตันเองตามลิ้งนี้ครับ
http://www.chriskanze.com/blog/post/lightweight-responsive-social-share-buttons/

ซึ่งมันจะมีการเรียกใช้ jQuery ก่อนเรียกใช้ Js หลัก ดังนี้ครับ
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

แน่นอนครับ ถ้าเรียกใช้งานตามนี้เลย มันก็ใช้งานได้ปกติ

แต่พอดีผมใช้ Wordpress ครับ เลยคิดว่าเรียกใช้ jQuery ในตัว Wordpress มันเลย
<script type='text/javascript' src='http://domain.com/wp-includes/js/jquery/jquery.js?ver=1.11.1'></script>

แต่สรุปว่ามันใช้งานไม่ได้ครับ

ไม่ทราบว่าแก้ไขอย่างไรได้บ้าง

อันนี้เป็น JS หลังจากเรียกใช้ jQuery ครับ
function sharePopup(url){
    var width = 600;
    var height = 400;
   
    var leftPosition, topPosition;
    leftPosition = (window.screen.width / 2) - ((width / 2)   10);
    topPosition = (window.screen.height / 2) - ((height / 2)   50);

    var windowFeatures = "status=no,height="   height   ",width="   width   ",resizable=yes,left="   leftPosition   ",top="   topPosition   ",screenX="   leftPosition   ",screenY="   topPosition   ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no";

    window.open(url,'Social Share', windowFeatures);
}

$('#share-facebook').on('click', function(){
    var u = location.href;
    var t = document.title;
    sharePopup('http://www.facebook.com/sharer.php?u=' encodeURIComponent(u) '&t=' encodeURIComponent(t));
    return false;
});


$('#share-twitter').on('click', function(){
    var u = location.href;
    var t = document.title ' - ';
    sharePopup('http://twitter.com/share?url=' encodeURIComponent(u) '&text=' encodeURIComponent(t) '&via=ChrisKanze');
    return false;
});

$('#share-google').on('click', function(){
    var u = location.href;
    var t = document.title;
    sharePopup('[url]https://plus.google.com/share?url='[/url] encodeURIComponent(u) '&text=' encodeURIComponent(t));
    return false;
});


nuicpe

ไม่แน่ใจว่า เรียกใช้จาก http://domain.com/wp-includes/js/jquery/jquery.js?ver=1.11.1  เลยหรือเปล่าครับ 
แบบนี้ผมว่าไม่น่าจะได้นะครับ

เพราะว่า url นี้มันไม่มีอยู่จริงครับ

ถ้าอยากจะเรียกไฟล์ ที่อยู่บน Server ของเราเอง เลย 
จะต้อง ดาวโหลดไฟล์ jquery มาก่อนครับ   แล้วก็ Upload ขึ้น Server ของเรา แล้วก็ เรียกตาม path ที่ Upload ไว้ครับ

แต่ จริงๆแล้วผมว่า ใช้ link จาก google api ก็ไม่น่าจะติดอะไรนะครับ

xmen256k

อ้างถึงจาก: nuicpe ใน 27 ตุลาคม 2014, 17:36:17
ไม่แน่ใจว่า เรียกใช้จาก http://domain.com/wp-includes/js/jquery/jquery.js?ver=1.11.1  เลยหรือเปล่าครับ 
แบบนี้ผมว่าไม่น่าจะได้นะครับ

เพราะว่า url นี้มันไม่มีอยู่จริงครับ

ถ้าอยากจะเรียกไฟล์ ที่อยู่บน Server ของเราเอง เลย 
จะต้อง ดาวโหลดไฟล์ jquery มาก่อนครับ   แล้วก็ Upload ขึ้น Server ของเรา แล้วก็ เรียกตาม path ที่ Upload ไว้ครับ

แต่ จริงๆแล้วผมว่า ใช้ link จาก google api ก็ไม่น่าจะติดอะไรนะครับ


มันเรียกอัตโนมัติตามระบบของ wordpress อยู่แล้วอ่าครับ เพียงแต่ว่า รันแล้ว js มันไม่ทำงานครับ

nuicpe

อ้างถึงจาก: xmen256k ใน 27 ตุลาคม 2014, 19:00:24
อ้างถึงจาก: nuicpe ใน 27 ตุลาคม 2014, 17:36:17
ไม่แน่ใจว่า เรียกใช้จาก http://domain.com/wp-includes/js/jquery/jquery.js?ver=1.11.1  เลยหรือเปล่าครับ  
แบบนี้ผมว่าไม่น่าจะได้นะครับ

เพราะว่า url นี้มันไม่มีอยู่จริงครับ

ถ้าอยากจะเรียกไฟล์ ที่อยู่บน Server ของเราเอง เลย  
จะต้อง ดาวโหลดไฟล์ jquery มาก่อนครับ   แล้วก็ Upload ขึ้น Server ของเรา แล้วก็ เรียกตาม path ที่ Upload ไว้ครับ

แต่ จริงๆแล้วผมว่า ใช้ link จาก google api ก็ไม่น่าจะติดอะไรนะครับ


มันเรียกอัตโนมัติตามระบบของ wordpress อยู่แล้วอ่าครับ เพียงแต่ว่า รันแล้ว js มันไม่ทำงานครับ


ลองเปลี่ยน $  เป็น  jQuery  ครับ  ผมลองทดสอบของผมดูแล้วสามารถใช้งานได้ล่ะครับ


<script src="http://DomainName/wp-includes/js/jquery/jquery.js?ver=1.11.1"></script>

<script>
jQuery(function() {
jQuery('#share-facebook').on('click', function(){
   var u = location.href;
   var t = document.title;
   sharePopup('[url]http://www.facebook.com/sharer.php?u='[/url] encodeURIComponent(u) '&t=' encodeURIComponent(t));
   return false;
});


jQuery('#share-twitter').on('click', function(){
   var u = location.href;
   var t = document.title ' - ';
   sharePopup('[url]http://twitter.com/share?url='[/url] encodeURIComponent(u) '&text=' encodeURIComponent(t) '&via=ChrisKanze');
   return false;
});

jQuery('#share-google').on('click', function(){
   var u = location.href;
   var t = document.title;
   sharePopup('[url]https://plus.google.com/share?url='[/url] encodeURIComponent(u) '&text=' encodeURIComponent(t));
   return false;
});

jQuery('#share-linkedin').on('click', function(){
   var u = location.href;
   var t = document.title;
   var d = $("meta[name='description']").attr('content');
   sharePopup('[url]http://www.linkedin.com/shareArticle?mini=true&url='[/url] encodeURIComponent(u) '&title=' encodeURIComponent(t) '&summary=' encodeURIComponent(d) '&source=' encodeURIComponent('[url]http://www.chriskanze.com[/url]') '');
   return false;
});
});
function sharePopup(url){
   var width = 600;
   var height = 400;
 
   var leftPosition, topPosition;
   leftPosition = (window.screen.width / 2) - ((width / 2)   10);
   topPosition = (window.screen.height / 2) - ((height / 2)   50);

   var windowFeatures = "status=no,height="   height   ",width="   width   ",resizable=yes,left="   leftPosition   ",top="   topPosition   ",screenX="   leftPosition   ",screenY="   topPosition   ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no";

   window.open(url,'Social Share', windowFeatures);
}
</script>