Demo Fitur Bookmark Click Disini.
Kalian Buat Button Bookmarknya sendiri ya :D.
Jika Sudah Tambahkan Class ini pada Button Bookmark Kalian.
bookmark
setelah itu tambahkan pula Expression data id pada btn kalian.
expr:data-id='data:post.id'
contoh hasilnya :
<div class='bookmark' expr:data-id='data:post.id'>Bookmark</div>
perlu diketahuan hal yang mengenai Expression wajib kalian letakkan dalam markup yang mengandung value data:posts.
jadi jika kalian tempatkan diluar markup yang tidak ada value data post tadi maka Expression nya bakal null/tidak ada.
Letakkan Script Bookmark.js diatas tag </body>
Script Bookmark.js :
<b:if cond='data:view.isPost'>
<script>//<![CDATA[
var limitBookmark = 100;
var bookmark = (function(){
list = [];
//Structure Push to Object New Item
function Item(id,name,status,type,link,img){
this.id = id;
this.name = name;
this.status = status;
this.type = type;
this.link = link;
this.img = img;
}
//Event Saving to Local Storage
function setBookmark(){
localStorage.setItem('bookmark', JSON.stringify(list));
}
function loadBookmark() {
list = JSON.parse(localStorage.getItem('bookmark'));
}
if (localStorage.getItem("bookmark") != null) {
loadBookmark();
}
obj = {};
//Add New Item Object to Array
obj.addItemTobookmark = function(id,name,status,type,link,img) {
var item = new Item(id,name,status,type,link,img),
itemList = list;
if(itemList != null){
same = itemList.find(item =>{return item.id == id;});
if(list.length<limitBookmark){
if(!same){
list.push(item);
setBookmark();
}
}
}else{
list.push(item);
setBookmark();
}
}
//Remove Bookmark
obj.removeThisItem = function(id) {
for(var item in list) {
if(list[item].id === id) {
list.splice(item, 1);
break;
}
}
setBookmark();
}
return obj;
})();
$('.bookmark').each(function(event) {
const getData = JSON.parse(localStorage.getItem('bookmark'));
for(var i in getData){
if(getData[i].id == $(this).data('id')){
$(this).html('Bookmarked')
$(this).addClass('bookmarked')
}
}
$(this).click(function(){
const list = JSON.parse(localStorage.getItem('bookmark'));
//Retrieve Data From Post
const id = $(this).data('id'),
name = $('article.oh.a2 header h1.mb-6').text().replace('\n',''),
link = location.protocol + '//' + location.hostname + location.pathname,
img = $('div.grid div.a1 figure img').attr('src'),
status = $('aside.s1 div.y6x11p:nth-child(1) span.dt a').text().replace('\n',''),
type = $('aside.s1 div.y6x11p:nth-child(2) span.dt a').text().replace('\n','');
//Set To Function Bookmark
if(list == null){
if(!$(this).hasClass('bookmarked')){
bookmark.addItemTobookmark(id,name,status,type,link,img);
$(this).addClass('bookmarked')
$(this).html('Bookmarked')
}else{
bookmark.removeThisItem(id);
$(this).html('Bookmark <svg height="24" viewBox="0 0 24 24" width="24"><path d="M17,18L12,15.82L7,18V5H17M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z" fill="#fff"/></svg>')
$(this).removeClass('bookmarked')
}
}else{
if(!$(this).hasClass('bookmarked')){
if(list.length<limitBookmark){
bookmark.addItemTobookmark(id,name,status,type,link,img);
$(this).addClass('bookmarked')
$(this).html('Bookmarked')
}
}else{
bookmark.removeThisItem(id);
$(this).html('Bookmark <svg height="24" viewBox="0 0 24 24" width="24"><path d="M17,18L12,15.82L7,18V5H17M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z" fill="#fff"/></svg>')
$(this).removeClass('bookmarked')
}
}
})
});
//]]></script>
</b:if>
Setting limitBookmark suka-suka kalian asal ga 1juta.localStorage hanya dibatasi sampai 5MB.Baca Selengkapnya dibawah:
https://web.dev/storage-for-the-web/
untuk Penargetan pada btn event di Bookmark.js kalian ubah sendiri ya karena setiap structure theme beda2,kecuali kalian komen dibawah nanti saya bantu.
structure btn event yg dimaksud :
const id = $(this).data('id'),
name = $('article.oh.a2 header h1.mb-6').text().replace('\n',''),
link = location.protocol + '//' + location.hostname + location.pathname,
img = $('div.grid div.a1 figure img').attr('src'),
status = $('aside.s1 div.y6x11p:nth-child(1) span.dt a').text().replace('\n',''),
type = $('aside.s1 div.y6x11p:nth-child(2) span.dt a').text().replace('\n','');
next.kalian buat halaman statis (apa sih halaman statis ?.yang itu loh urlnya blogmucom/p/....html)
Structure InPage :
<style>
.clearAll{font-size: 12px;color: white;background: red;padding: 2px 12px;border-radius: 4px;cursor: pointer;}
.btnRemove{padding: 4px 0;text-align: center;background: red;color: white;font-weight: 600;border-radius: 8px;cursor: pointer;}
.notice{background: #860a0a;color: white;padding: 10px 18px;border-radius: 8px;text-align: center;margin-bottom:8px;}
.showBookmark{display: grid;grid-template-columns: repeat(5,minmax(225px,250px));grid-gap:12px;}
.showBookmark article {display: grid;grid-template-rows: 1fr auto;grid-gap:15px;}
article div.limit{position: relative;border-radius: 8px;overflow:hidden;}
.bsx:hover div.limit img{scale:1.2;}
article div.limit .typez{position: absolute;top: 0;z-index: 1;right: 0;background: var(--primary-color);color: var(--hf1f);padding: 4px 12px;border-radius: 0 8px;}
article div.limit div.bt{position: absolute;bottom: 0;z-index: 1;left: 0;background: #ff0054;color: white;padding: 4px 12px;border-radius: 0 8px;}
article div.limit div.ply{position: absolute;left: 0;right: 0;z-index: 1;bottom: 0;top: 0;}
article div.limit div.ply:before{content: '';position: absolute;top: 0;bottom: 0;right: 0;left: 0;background: #000000a6;z-index: -1;display: none;}
.bsx:hover div.limit div.ply:before,.bsx:hover div.limit div.ply svg{display:block !important;}
article div.limit div.ply svg{display: block;margin: 0 auto;fill: white;height: 100%;width: 90px;display: none;}
article div.limit img{display: block;position: relative;z-index: 0;width: 230px;border-radius: inherit;height: 300px;}
div.tt{text-align: center;font-weight: 600;}
div.tt h2{display: none;}
</style>
<div class='notice'>Limit menyimpan daftar anime hanya 100 judul. Daftar anime disimpan di browser yang sedang kalian gunakan.Apabila anda membuka halaman ini dengan browser yang berbeda,maka daftar kalian yang sudah kalian simpan sebelumnya tidak akan tampil.</div>
<div class='showBookmark'></div>
<script>
var bookmark = (function(){
list = [];
//Event Saving to Local Storage
function setBookmark(){
localStorage.setItem('bookmark', JSON.stringify(list));
}
function loadBookmark() {
list = JSON.parse(localStorage.getItem('bookmark'));
}
if (localStorage.getItem("bookmark") != null) {
loadBookmark();
}
obj = {};
//Clear Bookmark
obj.clearALL = function() {
list = [];
setBookmark();
}
//Remove Bookmark
obj.removeThisItem = function(id) {
for(var item in list) {
if(list[item].id === id) {
list.splice(item, 1);
break;
}
}
setBookmark();
}
return obj;
})();
function displayIt(){
var getData = JSON.parse(localStorage.getItem('bookmark'));
var structure = '';
for(var i in getData){
structure += '<article class="box" itemscope="itemscope" itemtype="http://schema.org/CreativeWork">'
+ '<div id="'+getData[i].id+'" class="bsx">'
+ '<a href="'+getData[i].link+'" itemprop="url" title="'+getData[i].name+'">'
+ '<div class="limit"><div class="typez '+getData[i].type+'">'+getData[i].type+'</div>'
+ '<div class="ply"><svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clip-rule="evenodd"></path></svg></div>'
+ '<div class="bt"><span class="epx">'+getData[i].status+'</span></div>'
+ '<img src="'+getData[i].img+'" loading="lazy" itemprop="image" title="'+getData[i].name+'" alt="'+getData[i].name+'"></div>'
+ '<div class="tt">'+getData[i].name+'<h2 itemprop="headline">'+getData[i].name+'</h2></div></a></div>'
+ '<div class="btnRemove" data-id="'+getData[i].id+'">Remove</div></article>';
}
$('.showBookmark').html(structure);
}
$('.clearAll').click(function(){
bookmark.clearALL();
displayIt();
});
$('.showBookmark').on("click", ".btnRemove", function(event) {
bookmark.removeThisItem($(this).data('id'));
displayIt();
})
displayIt();
</script>
disini gada yang perlu diganti kecuali style.
nah untuk memunculkan btn Clear All seperti di demo.tambahkan ini di heading title halaman kalian :
<b:if cond='data:view.url == data:blog.homepageUrl path "/p/bookmark.html"'>
<div class='clearAll'>Clear All</div>
</b:if>
Keterangan :
- Apabila hasilnya kosong misal type atau statusnya kosong. structurenya dideketin jangan sampai ada cela.
contoh :
Before
<div>
<data:label.name/>
</div>
After
<div><data:label.name/></div>
Pasti banyak pemula yg kesulitan di bagian memasang ID/Clear khususnya di bagian btn event. XD
Saya juga bantuin deh kalau ada yg nanya2,
biar kerjaan Kang pikachu jadi ringan.
jika gada yg tau gimana responsive innya pakai media screen.
contoh :
@media screen and (max-width:720px){
Element selector css
}
kemarin saya cuma bikin tampilan desktopnya.tinggal responsive in ukuran gambar + display gridnya aja
Streaming
const id = $(this).data('id'),
name = $('h1.entry-judul').text().replace('\n',''),
link = location.protocol + '//' + location.hostname + location.pathname,
img = $('img.post-thumbnail').attr('src'),
status = $('.aniInfo div.infonya:nth-child(1) span').text().replace('\n',''),
type = $('.stinfo div.tinfo span span i').text().replace('\n','');
$('.clearAll').click(function(){
bookmark.clearALL();
displayIt();
});
coba hapus bookmark bawaannya
coba kamu full copy ga usah di packed jsnya.
memang bermasalah script simple buat munculin Alert aja ga aktif btn eventnya.pdahal ku cek jquery librarynya ada.
<div id='hello'>Click This</div>
<script>
$('#hello').click(function(){
alert('Hello');
});
</script>
<script async='async' src='//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js' type='text/javascript'></script>
hapus :
async='async'
bakal normal itu nanti
target elementnya kamu ubah jadi ini yg bagian img:
img = $('img.post-thumbnail').data('src')
permasalahan di theme itu ada di jquery yg dibikin async jadi librarynya ga keload dluan
bikin class btnRemove jadi display:none.
.btnRemove{padding: 4px 0;text-align: center;background: red;color: white;font-weight: 600;border-radius: 8px;cursor: pointer;display:none;}
dan tambahkan class active.
.active{display:block;}
Step 2 :
Pasang Markup ini disamping Clear All dan untuk style kamu buat sendiri.
<div class='hapus'>Hapus</div>
Step 3 :
Untuk JS kamu pasang diantara InPage.js atau ga bikin tag script baru.
$('.hapus').click(function(){
if(!$('.btnRemove').hasClass('active')){
$('.btnRemove').addClass('active');
}else{
$('.btnRemove').removeClass('active');
}
});
function displayit :
function displayIt(){
var getData = JSON.parse(localStorage.getItem('bookmark'));
var structure = '';
for(var i in getData){
structure += '<article class="box" itemscope="itemscope" itemtype="http://schema.org/CreativeWork">'
+ '<div id="'+getData[i].id+'" class="bsx">'
+ '<a href="'+getData[i].link+'" itemprop="url" title="'+getData[i].name+'">'
+ '<div class="limit"><div class="typez '+getData[i].type+'">'+getData[i].type+'</div>'
+ '<div class="ply"><svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clip-rule="evenodd"></path></svg></div>'
+ '<div class="bt"><span class="epx">'+getData[i].status+'</span></div>'
+ '<img src="'+getData[i].img+'" loading="lazy" itemprop="image" title="'+getData[i].name+'" alt="'+getData[i].name+'"></div>'
+ '<div class="tt">'+getData[i].name+'<h2 itemprop="headline">'+getData[i].name+'</h2></div></a></div>'
+ '<div class="btnRemove" data-id="'+getData[i].id+'">Remove</div></article>';
}
$('.showBookmark').html(structure);
}
Ganti dengan ini :
function displayIt(){
var getData = JSON.parse(localStorage.getItem('bookmark'));
var structure = '';
for(var i in getData){
structure += '<article class="box" itemscope="itemscope" itemtype="http://schema.org/CreativeWork" data-id="'+getData[i].id+'">'
+ '<div id="'+getData[i].id+'" class="bsx">'
+ '<a href="'+getData[i].link+'" itemprop="url" title="'+getData[i].name+'">'
+ '<div class="limit"><div class="typez '+getData[i].type+'">'+getData[i].type+'</div>'
+ '<div class="ply"><svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clip-rule="evenodd"></path></svg></div>'
+ '<div class="bt"><span class="epx">'+getData[i].status+'</span></div>'
+ '<img src="'+getData[i].img+'" loading="lazy" itemprop="image" title="'+getData[i].name+'" alt="'+getData[i].name+'"></div>'
+ '<div class="tt">'+getData[i].name+'<h2 itemprop="headline">'+getData[i].name+'</h2></div></a></div>'
+ '<div class="btnRemove" data-id="'+getData[i].id+'">Remove</div></article>';
}
$('.showBookmark').html(structure);
}
$('.showBookmark').on("click", ".btnRemove", function(event) {
bookmark.removeThisItem($(this).data('id'));
displayIt();
})
ganti dengan ini :
$('.showBookmark').on("click", ".btnRemove", function(event) {
var id='article[data-id="'+$(this).data('id')+'"]';
bookmark.removeThisItem($(this).data('id'));
$(id).remove();
})
Rencana mau kuletakkan di nav, biar orang tau berapa jumlah bookmark mereka.
Slow aja updatenya, aku tau km sibuk.
ubah function displayit :
function displayIt(){
var getData = JSON.parse(localStorage.getItem('bookmark'));
var structure = '';
for(var i in getData){
structure += '<article class="box" itemscope="itemscope" itemtype="http://schema.org/CreativeWork">'
+ '<div id="'+getData[i].id+'" class="bsx">'
+ '<a href="'+getData[i].link+'" itemprop="url" title="'+getData[i].name+'">'
+ '<div class="limit"><div class="typez '+getData[i].type+'">'+getData[i].type+'</div>'
+ '<div class="ply"><svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clip-rule="evenodd"></path></svg></div>'
+ '<div class="bt"><span class="epx">'+getData[i].status+'</span></div>'
+ '<img src="'+getData[i].img+'" loading="lazy" itemprop="image" title="'+getData[i].name+'" alt="'+getData[i].name+'"></div>'
+ '<div class="tt">'+getData[i].name+'<h2 itemprop="headline">'+getData[i].name+'</h2></div></a></div>'
+ '<div class="btnRemove" data-id="'+getData[i].id+'">Remove</div></article>';
}
$('.showBookmark').html(structure);
}
menjadi :
function displayIt(){
var getData = JSON.parse(localStorage.getItem('bookmark'));
var structure = '';
let num = 0;
for(var i in getData){
num++
structure += '<article class="box" itemscope="itemscope" itemtype="http://schema.org/CreativeWork">'
+ '<div id="'+getData[i].id+'" class="bsx">'
+ '<a href="'+getData[i].link+'" itemprop="url" title="'+getData[i].name+'">'
+ '<div class="limit"><div class="typez '+getData[i].type+'">'+getData[i].type+'</div>'
+ '<div class="ply"><svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clip-rule="evenodd"></path></svg></div>'
+ '<div class="bt"><span class="epx">'+getData[i].status+'</span></div>'
+ '<img src="'+getData[i].img+'" loading="lazy" itemprop="image" title="'+getData[i].name+'" alt="'+getData[i].name+'"></div>'
+ '<div class="tt">'+getData[i].name+'<h2 itemprop="headline">'+getData[i].name+'</h2></div></a></div>'
+ '<div class="btnRemove" data-id="'+getData[i].id+'">Remove</div></article>';
}
$('.showBookmark').html(structure);
$('.numshow').html(num);
}
tambahkan markup result :
<span class='numshow'></span>
itu yg comment atas buat di inPage staticnya
gimana min?
tambahkan script ini di atas script Bookmark.js :
<script>//<![CDATA[
function displayNum(){
var dataLocal = JSON.parse(localStorage.getItem('bookmark'));
let num = 0;
for(var item in dataLocal){
num++
}
$('.numshow').html(num);
}
displayNum();
//]]></script>
Habis itu di Script Bookmark.js kamu cari script yg mirip dibawah :
$('.bookmark').each(function(event) {
const getData = JSON.parse(localStorage.getItem('bookmark'));
for(var i in getData){
if(getData[i].id == $(this).data('id')){
$(this).html('Bookmarked')
$(this).addClass('bookmarked')
}
}
$(this).click(function(){
const list = JSON.parse(localStorage.getItem('bookmark'));
//Retrieve Data From Post
const id = $(this).data('id'),
name = $('article.oh.a2 header h1.mb-6').text().replace('\n',''),
link = location.protocol + '//' + location.hostname + location.pathname,
img = $('div.grid div.a1 figure img').attr('src'),
status = $('aside.s1 div.y6x11p:nth-child(1) span.dt a').text().replace('\n',''),
type = $('aside.s1 div.y6x11p:nth-child(2) span.dt a').text().replace('\n','');
//Set To Function Bookmark
if(list == null){
if(!$(this).hasClass('bookmarked')){
bookmark.addItemTobookmark(id,name,status,type,link,img);
$(this).addClass('bookmarked')
$(this).html('Bookmarked')
}else{
bookmark.removeThisItem(id);
$(this).html('Bookmark ')
$(this).removeClass('bookmarked')
}
}else{
if(!$(this).hasClass('bookmarked')){
if(list.length')
$(this).removeClass('bookmarked')
}
}
})
});
Ganti Dengan :
$('.bookmark').each(function(event) {
const getData = JSON.parse(localStorage.getItem('bookmark'));
for(var i in getData){
if(getData[i].id == $(this).data('id')){
$(this).html('Bookmarked')
$(this).addClass('bookmarked')
}
}
$(this).click(function(){
const list = JSON.parse(localStorage.getItem('bookmark'));
//Retrieve Data From Post
const id = $(this).data('id'),
name = $('article.oh.a2 header h1.mb-6').text().replace('\n',''),
link = location.protocol + '//' + location.hostname + location.pathname,
img = $('div.grid div.a1 figure img').attr('src'),
status = $('aside.s1 div.y6x11p:nth-child(1) span.dt a').text().replace('\n',''),
type = $('aside.s1 div.y6x11p:nth-child(2) span.dt a').text().replace('\n','');
//Set To Function Bookmark
if(list == null){
if(!$(this).hasClass('bookmarked')){
bookmark.addItemTobookmark(id,name,status,type,link,img);
$(this).addClass('bookmarked')
$(this).html('Bookmarked')
}else{
bookmark.removeThisItem(id);
$(this).html('Bookmark ')
$(this).removeClass('bookmarked')
}
}else{
if(!$(this).hasClass('bookmarked')){
if(list.length')
$(this).removeClass('bookmarked')
}
}
displayNum();
})
});
ini bertujuan agar waktu Bookmarked/Unbookmark update secara realtime jumlahnya
Cari function displayit() ganti dengan ini :
function displayIt(){
var getData = JSON.parse(localStorage.getItem('bookmark'));
var structure = '';
for(var i in getData){
structure += '<article class="box" itemscope="itemscope" itemtype="http://schema.org/CreativeWork">'
+ '<div id="'+getData[i].id+'" class="bsx">'
+ '<a href="'+getData[i].link+'" itemprop="url" title="'+getData[i].name+'">'
+ '<div class="limit"><div class="typez '+getData[i].type+'">'+getData[i].type+'</div>'
+ '<div class="ply"><svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clip-rule="evenodd"></path></svg></div>'
+ '<div class="bt"><span class="epx">'+getData[i].status+'</span></div>'
+ '<img src="'+getData[i].img+'" loading="lazy" itemprop="image" title="'+getData[i].name+'" alt="'+getData[i].name+'"></div>'
+ '<div class="tt">'+getData[i].name+'<h2 itemprop="headline">'+getData[i].name+'</h2></div></a></div>'
+ '<div class="btnRemove" data-id="'+getData[i].id+'">Remove</div></article>';
}
if(getData == null || getData == ''){
$('.showBookmark').html('Maaf tidak ada item bookmark');
}else{
$('.showBookmark').html(structure);
}
}
Tambahkan Markup HTML :
<span class='numshow'>0</span>
Style :
.numshow {
background: #ffffff69;
padding: 2px 6px;
border-radius: 50%;
font-size: 12px;
}
hampir aja lupa -_-
//<![CDATA[
function replaceText(){if(!document.getElementById){return;}
bodyText = document.getElementById("outer-wrapper");
theText = bodyText.innerHTML;
theText = theText.replace(/s72-c/gi, "s400");
bodyText.innerHTML = theText;
}replaceText();
//]]>
</script> tapi habis dipasang script bookmarknya error mohon bantuannya min
coba kamu taruh diatas script bookmarknya
Cari code ini di script inPage :
var getData = JSON.parse(localStorage.getItem('bookmark'));
Ubah jadi ini :
var getData = JSON.parse(localStorage.getItem('bookmark')).reverse();
ubah "type" pada Bookmark.js dengan ini :
type = $('aside.s1 div.y6x11p:nth-child(2) span.dt a').html();
Tolong pang buatin untuk mode episode bang. Klo ini kan system bookmark, wa request system episode bang
var root = document.documentElement
var button = document.querySelector('.fit-btn')
button.addEventListener('click', () => {
root.classList.toggle('fit')
if (root.classList.contains('fit')) {
localStorage.setItem('isFit', '1')
} else {
localStorage.removeItem('isFit')
}
})
bagaimana cara localstorage nya aktif bang. ketika wa klik dia aktif namun ketika saya refresh dia kembali seperti semula
cek link dibawah :
https://www.forum.projexcode.com/p/projexcode-discussion.html#c1518484711827410188
2. Kamu harus manggil localstrogae sesuai keynya
if (localStorage.getItem("isFit") != null || localStorage.getItem("isFit") != '') {
apa yang kamu buat apabila data tersedia....
}
kamu bisa aja bikin kyak gitu tinggal kamu ubah2 style nya doang jika menggunakan script di atas. dan itu udah di terapin sama member @Dani_Edtz_
Aku tau dari bookmark counternya.
Setuju, desain bookmarknya bagus.
Mungkin tidak bisa di beli, karna di bundle dalam satu paket tema.
Similar Threads