ProjeXCode Forum: Memasang Page Counter Menggunakan Firebase Dan Pembulatan Angkanya

Title Role Staff

Title Role Senior Member

Title Role Member

Title Role Junior Member

Title Role New Member

Title Badge Moderator

Title Color Moderator

Title Badge Staff

Title Color Staff

Title Badge Member

Title Color Member

Status Info

Status Verified

ADS Title User

Your Time :

Server Time :

  • Memasang Page Counter Menggunakan Firebase Dan Pembulatan Angkanya
    November 11, 2021
    Share this Threads
    Close
    Pasang Library Firebase terserah dimana letaknya :
    <script src='https://cdn.firebase.com/js/client/2.3.2/firebase.js' type='text/javascript'></script>


    Pasang Tag HTML ini terserah dimana (Saran jika menggunakan Theme Blogger v3 letakkan di defaultmarkup nanti lebih enak manggilnya):
    <span class='post-view' expr:data-id='data:post.id'><i class='fa fa-eye'/> <span class='view-load' id='postviews'>0</span> Viewers</span>


    Pasang Script ini pada tag </body> :
    <script type='text/javascript'>//<![CDATA[
    // View counter
    $.each($(".post-view[data-id]"),function(c,f){
      var b=$(f).parent().find("#postviews").addClass("view-load"),
          d=new Firebase("Isi URL Firebase"+$(f).attr("data-id"));
      d.once("value",function(e){
        var h=e.val(),
            g=!1;
        null==h&&(h={},
                  h.value=0,
                  h.url=window.location.href,
                  h.id=$(f).attr("data-id"),
                  g=!0),
          b.removeClass("view-load").text(h.value),
          h.value++,
          "/"!=window.location.pathname&&(g?d.set(h):d.child("value").set(h.value))})});
    //]]></script>


    Script diatas adalah script default dari Arleth Design. Untuk Pembulatan Angka Yaitu 1000 menjadi 1k tambahkan saja script dibawah ini kedalam script diatas dibagian 'b.removeClass("view-load").text(h.value)'
    Math.abs(h.value) > 999 ? Math.sign(h.value)*((Math.abs(h.value)/1000).toFixed(1)) + 'k' : Math.sign(h.value)*Math.abs(h.value)


    Untuk Hasil Akhir Seperti ini :
    <script type='text/javascript'>//<![CDATA[
    // View counter
    $.each($(".post-view[data-id]"),function(c,f){
      var b=$(f).parent().find("#postviews").addClass("view-load"),
          d=new Firebase("Isi URL Firebase"+$(f).attr("data-id"));
      d.once("value",function(e){
        var h=e.val(),
            g=!1;
        null==h&&(h={},
                  h.value=0,
                  h.url=window.location.href,
                  h.id=$(f).attr("data-id"),
                  g=!0),
          b.removeClass("view-load").text(Math.abs(h.value) > 999 ? Math.sign(h.value)*((Math.abs(h.value)/1000).toFixed(1)) + 'k' : Math.sign(h.value)*Math.abs(h.value)),
          h.value++,
          "/"!=window.location.pathname&&(g?d.set(h):d.child("value").set(h.value))})});
    //]]></script>


    Untuk Next Level jika tadi cuma mengubah Pembulatan Angakanya cuma di 'k' Sekarang ke 'M' dan seterusnya
    Tambahkan Script ini di script default
    lookup = [
        { value: 1, symbol: "" },
        { value: 1e3, symbol: "k" },
        { value: 1e6, symbol: "M" },
        { value: 1e9, symbol: "G" },
        { value: 1e12, symbol: "T" },
        { value: 1e15, symbol: "P" },
        { value: 1e18, symbol: "E" }
      ],
      rx = /\.0+$|(\.[0-9]*[1-9])0+$/,
      item = lookup.slice().reverse().find(function(item) {
        return h.value >= item.value;
      })


    Executor :
    h.value / item.value).toFixed(1).replace(rx, "$1") + item.symbol : "0"


    Untuk Hasil Script Next Levelnya
    <script type='text/javascript'>//<![CDATA[
    // View counter
    $.each($(".post-view[data-id]"),function(c,f){
      var b=$(f).parent().find("#postviews").addClass("view-load"),
          d=new Firebase("Isi URL Firebase"+$(f).attr("data-id"));
      d.once("value",function(e){
        var h=e.val(),
            g=!1;
        null==h&&(h={},
                  h.value=0,
                  h.url=window.location.href,
                  h.id=$(f).attr("data-id"),
                  g=!0),
           lookup = [
        { value: 1, symbol: "" },
        { value: 1e3, symbol: "k" },
        { value: 1e6, symbol: "M" },
        { value: 1e9, symbol: "G" },
        { value: 1e12, symbol: "T" },
        { value: 1e15, symbol: "P" },
        { value: 1e18, symbol: "E" }
      ],
      rx = /\.0+$|(\.[0-9]*[1-9])0+$/,
      item = lookup.slice().reverse().find(function(item) {
        return h.value >= item.value;
      }),
          b.removeClass("view-load").text(item ? (h.value / item.value).toFixed(1).replace(rx, "$1") + item.symbol : "0"),
          h.value++,
          "/"!=window.location.pathname&&(g?d.set(h):d.child("value").set(h.value))})});
    //]]></script>


    Ubah toFixed(1) Dengan Kebutuhan mu

    Source:
    - Arleth Design
    - Stackoverflow
    Last edited : November 11, 2021
    Fri Jun 10, 08:17:00 AM GMT+9
    pagi bg maaf nanya semoga ga ganggu waktunya, thanks tutornya berhasil diterapkan di template yg ane pakai, ada sedikit kejangaalan beberapa kali ane pasang viewcounter selalu berhasil diawal, setelah beberapa hari jadi 0 dan error tidak bisa nambah, tiap ganti ke database baru worked lagi tapi jeda beberapa hari error lg, padahal di blog lain yang menggunakan js yang sama lancar terus. apakah pengaruh dari rules di firebasenya? kalau kita buat read writenya true apakah dengan demikian bisa membuat orang lain mengintervensi(hack) realtime data kita? kalau lowong mohon pencerahannya bg. 🙏
    Fri Jun 10, 04:14:00 PM GMT+9
    YZG said: pagi bg maaf nanya semoga ga ganggu waktunya, thanks tutornya berhasil diterapkan di template yg ane pakai, ada sedikit kejangaalan beberapa kali ane pasang viewcounter selalu berhasil diawal, setelah beberapa hari jadi 0 dan error tidak bisa nambah, tiap ganti ke database baru worked lagi tapi jeda beberapa hari error lg, padahal di blog lain yang menggunakan js yang sama lancar terus. apakah pengaruh dari rules di firebasenya? kalau kita buat read writenya true apakah dengan demikian bisa membuat orang lain mengintervensi(hack) realtime data kita? kalau lowong mohon pencerahannya bg. 🙏
    yap betul, itu bisa di exploitasi dan itu sangat mudah, makanya sering kali dpat email warning dari firebase kan ?
    itu salah satu kelemahan firebase di blogger tanpa auth karena rules write dibikin true agar visitor yg bukan auth melakukan write dalam database.

    jika bener2 mau di fix kamu bisa aktifkan appcheck difirebase lalu di integration ke captcha v3.
    wajib gunakan library firebase v8 jangan v9,kalo library firebase v9 ga bisa jalan jsnya di blogger atau dibawah v8 fitur tersebut tidak akan jalan juga.

    hal ini udah ku terapin di theme blog utama agar data2 yg dibuat ga di exploitasi kemungkinan minggu/senin kamu bisa lihat cara kerjanya di situs utama PXC
    projexcode.com

    documentation appCheck
    https://firebase.google.com/docs/app-check
    Fri Jun 10, 10:51:00 PM GMT+9
    This comment has been removed by the author.
    Sun Jun 12, 12:18:00 AM GMT+9
    Kubao said: yap betul, itu bisa di exploitasi dan itu sangat mudah, makanya sering kali dpat email warning dari firebase kan ?
    itu salah satu kelemahan firebase di blogger tanpa auth karena rules write dibikin true agar visitor yg bukan auth melakukan write dalam database.

    jika bener2 mau di fix kamu bisa aktifkan appcheck difirebase lalu di integration ke captcha v3.
    wajib gunakan library firebase v8 jangan v9,kalo library firebase v9 ga bisa jalan jsnya di blogger atau dibawah v8 fitur tersebut tidak akan jalan juga.

    hal ini udah ku terapin di theme blog utama agar data2 yg dibuat ga di exploitasi kemungkinan minggu/senin kamu bisa lihat cara kerjanya di situs utama PXC
    projexcode.com

    documentation appCheck
    https://firebase.google.com/docs/app-check
    ternyata, thanks bg. pernah mau coba fitur tersebut sepertinya harus berbayar ya..
    kalau rulesny dirubah seperti diartikel ini jsnya harus dirubah ya bg?

    https://plus-ui.fineshopdesign.com/2022/04/realtime-post-views-counter.html

    soalnya ane coba copas rulesnya pakai id blog ane ga berpengaruh.
    Sun Jun 12, 12:58:00 AM GMT+9
    YZG said: ternyata, thanks bg. pernah mau coba fitur tersebut sepertinya harus berbayar ya..
    kalau rulesny dirubah seperti diartikel ini jsnya harus dirubah ya bg?

    https://plus-ui.fineshopdesign.com/2022/04/realtime-post-views-counter.html

    soalnya ane coba copas rulesnya pakai id blog ane ga berpengaruh.
    kalo pakai rules itu ganti New Firebasenya :
    new Firebase("Isi URL Firebase/BlogID_0000000000/postId")

    lalu bagian :
    h.value

    yang bertentangan dengan h.value ganti Dengan :
    h.newData
    Sun Jun 12, 11:13:00 AM GMT+9
    Kubao said: kalo pakai rules itu ganti New Firebasenya :
    new Firebase("Isi URL Firebase/BlogID_0000000000/postId")

    lalu bagian :
    h.value

    yang bertentangan dengan h.value ganti Dengan :
    h.newData
    thanks bg. 🙏
    Sun Jul 17, 02:52:00 PM GMT+9
    Bang codenya jadi satu terus screenshot kirim ke gmail saya bang muzakkiramadhan98@gmail.com
    Mon Jul 18, 09:45:00 AM GMT+9
    Baca komik said: Bang codenya jadi satu terus screenshot kirim ke gmail saya bang muzakkiramadhan98@gmail.com
    itu tinggal kamu pasang aja yg "hasil script next level"
    Thu Jul 21, 12:32:00 PM GMT+9
    Saya sudah isi url database, Tapi di saya views nya loading terus bang? Itu yang suruh isi url data base atau auth domain?
    Thu Jul 21, 02:13:00 PM GMT+9
    Baca komik said: Saya sudah isi url database, Tapi di saya views nya loading terus bang? Itu yang suruh isi url data base atau auth domain?
    bisa kasih lihat hasil scriptmu ? takutnya kamu salah input urlnya
    Thu Jul 21, 11:51:00 PM GMT+9
    Kubao said: bisa kasih lihat hasil scriptmu ? takutnya kamu salah input urlnya
    Ini url databese https://komikakatsuky-4fc0b-default-rtdb.asia-southeast1.firebasedatabase.app dan ini domain komikakatsuky-4fc0b.firebaseapp.com .tapi yang saya liat semuannya firebaseio.com?
    Fri Jul 22, 12:30:00 AM GMT+9
    Kubao said: bisa kasih lihat hasil scriptmu ? takutnya kamu salah input urlnya
    Bang ada akun ig atau wa bang sekalian saya mau nanya cara masang live search juga akun ig saya komikakatsuki dm aja bang
    Fri Jul 22, 09:04:00 AM GMT+9
    Baca komik said: Bang ada akun ig atau wa bang sekalian saya mau nanya cara masang live search juga akun ig saya komikakatsuki dm aja bang
    site not found, kasih aku scriptmu aja hasil yang kamu edit (yang udh kamu kasih url firebasenya)

    untuk Social Media skrng fokus di Discord IG/FB mngkin nnti. untuk cara masang live search sudah jelas kok itu tinggal ikuti aja arahannya
    Fri Jul 22, 11:20:00 AM GMT+9
    Kubao said: site not found, kasih aku scriptmu aja hasil yang kamu edit (yang udh kamu kasih url firebasenya)

    untuk Social Media skrng fokus di Discord IG/FB mngkin nnti. untuk cara masang live search sudah jelas kok itu tinggal ikuti aja arahannya
    Bang saya ga tau cara ngirim scriptnya jadi saya kasi blog aja untuk script nya udah saya sesuaikan dan udah saya kasi url databese https://komikakatsuky-4fc0b-default-rtdb.asia-southeast1.firebasedatabase.app dengan yg di atas
    Ini yang contoh blog url firbease saya https://slsodo.blogspot.com/2022/07/hsjsksjz.html
    Dan ini punya rang lain url firebasehttps://md-count-view.firebaseio.com/pages/id/
    Ini hasilnyahttps://komikakatsuky.blogspot.com/2022/07/chainsawman.html
    Fri Jul 22, 02:41:00 PM GMT+9
    Kubao said: site not found, kasih aku scriptmu aja hasil yang kamu edit (yang udh kamu kasih url firebasenya)

    untuk Social Media skrng fokus di Discord IG/FB mngkin nnti. untuk cara masang live search sudah jelas kok itu tinggal ikuti aja arahannya
    Bang pertemanan di discord nama komikakatsuki#5318
    Fri Jul 22, 05:47:00 PM GMT+9
    Baca komik said: Bang saya ga tau cara ngirim scriptnya jadi saya kasi blog aja untuk script nya udah saya sesuaikan dan udah saya kasi url databese https://komikakatsuky-4fc0b-default-rtdb.asia-southeast1.firebasedatabase.app dengan yg di atas
    Ini yang contoh blog url firbease saya https://slsodo.blogspot.com/2022/07/hsjsksjz.html
    Dan ini punya rang lain url firebasehttps://md-count-view.firebaseio.com/pages/id/
    Ini hasilnyahttps://komikakatsuky.blogspot.com/2022/07/chainsawman.html
    coba kamu perbarui dengan ini
    d=new Firebase("https://md-count-view.firebaseio.com/"+$(f).attr("data-id"));
    Fri Jul 22, 05:47:00 PM GMT+9
    Baca komik said: Bang pertemanan di discord nama komikakatsuki#5318
    join aja di server -X- Zone link ada di footer/bwah

    Similar Threads