username:

password:




Songs
Albums
Diggers
Comments
Blogwalls

About
 Email Me


394,352 Albums + 592,764 Individual Songs
Whom shall sing, by the butterfly's wing?
Loading...
 
 
Descriptions

ZOMBIE - The Cranberries (Janel Nabong Cover)





My cover of "Zombie" by The Cranberries. Thanks to my Lil Bro, Mindaugus for suggesting this song in the first place. 💖💖💖 ~ I hope you guys enjoyed! Let me know what you guys want to hear or see on my next videos ~ Comment, like, and subscribe, and I'll see you in the next one!

Song: Zombie
Artist: The Cranberries
Cover by: Janel Nabong

~

Follow my on spotify and be notified when my upcoming album drops July of 2020!:

https://open.spotify.com/artist/3G4P2fUuLeHHlRISsojf7P

~

Merch Store:

https://www.JanelNabongOfficial.com

~

Link to all my socials (Instagram, Facebook, Twitter, etc.):

https://linktr.ee/janelnabong

~

Join me on my YouTube Live streams every Monday from 12pm-2pm Pacific Daylight Time!

I also live stream on both the "NEXT Music" app and "Sessions Live" app, links down below (follow me on Instagram, Twitter, or Facebook for posts/announcements of my live streaming schedule each week):

Want to watch my live stream on your computer or console? Well here you go! (link):
https://sessionslive.com/nelNELLYnel

"Sessions Live" app for iOS devices (link):
https://apps.apple.com/ph/app/sessions-live-music-streaming/id1484386339

"Sessions Live" app for Android devices (link):
https://play.google.com/store/apps/details?id=com.nextmusic

~

"NEXT Music" app for iOS devices (link):
https://apps.apple.com/ph/app/next-music/id1076002270

"NEXT Music" app for Android devices (link):
https://play.google.com/store/apps/details?id=com.pennypop.dance&hl=en_US

~

Lyrics:

Another head hangs lowly
Child is slowly taken
And the violence, caused such silence
Who are we mistaken?
But you see, it's not me
It's not my family
In your head, in your head, they are fighting
With their tanks, and their bombs
And their bombs, and their guns
In your head, in your head they are crying
In your head, in your head
Zombie, zombie, zombie-ie-ie
What's in your head, in your head
Zombie, zombie, zombie-ie-ie, oh
Du, du, du, du
Du, du, du, du
Du, du, du, du
Du, du, du, du
Another mother's breaking
Heart is taking over
When the violence causes silence
We must be mistaken
It's the same old theme
Since nineteen-sixteen
In your head, in your head, they're still fighting
With their tanks, and their bombs
And their bombs, and their guns
In your head, in your head, they are dying
In your head, in your head
Zombie, zombie, zombie-ie-ie
What's in your head, in your head
Zombie, zombie, zombie-ie-ie, oh oh oh oh oh oh oh ie-ie oh

#zombie #zombiecover #thecranberries


© 2021 DigMusic Online/** * 1. GENERAL AJAX FORM SUBMISSION HANDLER * Intercepts a standard form submission by its ID, submits it via fetch (POST), * and passes the result text back to a custom callback function. */ function submitFormAjax(formId, callback) { const formElement = document.getElementById(formId); if (!formElement) return; formElement.addEventListener('submit', function (event) { event.preventDefault(); event.stopPropagation(); const formData = new FormData(formElement, event.submitter); if (event.submitter && event.submitter.name) { formData.append(event.submitter.name, event.submitter.value); } const actionUrl = formElement.getAttribute('action') || './ajax_handler.php'; fetch(actionUrl, { method: 'POST', body: formData }) .then(response => response.text()) .then(result => { if (typeof callback === 'function') { callback(result, formElement); } }) .catch(error => { console.error("Fetch error:", error); }); return false; }); } /** * 2. ALPHABETICAL DROPDOWN OPTION INSERTER */ function insertOptionAlphabetically(selectElement, text, value) { if (!selectElement) return; for (let i = 0; i < selectElement.options.length; i++) { if (selectElement.options[i].value === value) return; } const option = document.createElement('option'); option.value = value; option.text = text; let inserted = false; for (let i = 0; i < selectElement.options.length; i++) { if (selectElement.options[i].value === "") continue; if (selectElement.options[i].text.localeCompare(text, undefined, {sensitivity: 'accent', numeric: true}) > 0) { selectElement.add(option, selectElement.options[i]); inserted = true; break; } } if (!inserted) { selectElement.add(option); } } /** * 3. SCORE UPDATE AJAX HANDLER */ function updateScoreAjax() { const formElement = document.getElementById('scoreForm'); const selectElement = document.getElementById('scoreSelect'); if (!formElement || !selectElement) return; if (selectElement.value === "") return; const formData = new FormData(formElement); formData.set('score', selectElement.value); // Ensure URL is present if missing if (!formData.has('url') || formData.get('url') === '') { const segments = window.location.pathname.split('/'); const lastSegment = segments[segments.length - 1]; const trackUrl = lastSegment.replace('play_', '').replace('.php', ''); formData.set('url', trackUrl); } const actionUrl = formElement.getAttribute('action') || window.location.href; fetch(actionUrl, { method: 'POST', body: formData }) .then(response => response.text()) .then(html => { const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); const currentTable = formElement.closest('table'); const newDocTable = doc.getElementById('scoreForm') ? doc.getElementById('scoreForm').closest('table') : null; if (currentTable && newDocTable) { currentTable.innerHTML = newDocTable.innerHTML; } }) .catch(error => { console.error("Score fetch error:", error); }); } /** * 4. SHELF ITEM AJAX INITIALIZER */ function initShelfItemAjax() { if (window._shelfAjaxInitialized) return; window._shelfAjaxInitialized = true; document.addEventListener('submit', function (event) { const form = event.target; const isShelfForm = form.name === 'shelfitemform' || form.id === 'addToShelfForm' || form.querySelector('select[name="myshelves"]'); if (!isShelfForm) return; event.preventDefault(); event.stopPropagation(); const formData = new FormData(form, event.submitter); if (event.submitter && event.submitter.name) { formData.append(event.submitter.name, event.submitter.value); } formData.set('ajax', '1'); const actionUrl = form.getAttribute('action') || './add_to_shelf.php'; fetch(actionUrl, { method: 'POST', body: formData }) .then(response => response.text()) .then(html => { const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); const shelfItemContainer = document.getElementById('shelfItemContainer'); const newContainer = doc.getElementById('shelfItemContainer'); if (newContainer && shelfItemContainer) { shelfItemContainer.innerHTML = newContainer.innerHTML; } const newInfo = doc.getElementById('trackShelvesInfo'); const currentInfo = document.getElementById('trackShelvesInfo'); if (newInfo && currentInfo) { currentInfo.outerHTML = newInfo.outerHTML; } }) .catch(error => { console.error("Shelf item fetch error:", error); }); return false; }); } /** * 5. DOM CONTENT LOADED INITIALIZER */ document.addEventListener("DOMContentLoaded", function () { // Handle score dropdown change event cleanly const selectElement = document.getElementById('scoreSelect'); if (selectElement) { selectElement.addEventListener('change', updateScoreAjax); } // Handle the creation of a brand new custom shelf dynamically submitFormAjax('shelfForm', function(result, form) { let status = document.getElementById('shelfStatus'); if (!status) return; let cleanResult = result.trim(); if (cleanResult.startsWith("Success")) { status.innerText = "Added!"; status.style.color = "green"; const shelfInput = form.querySelector('input[name="shelf_name"]'); const shelfName = shelfInput ? shelfInput.value.trim() : ""; let newSid = ""; let separator = cleanResult.includes("|") ? "|" : ":"; if (cleanResult.includes(separator)) { let parts = cleanResult.split(separator); newSid = parts[1].replace(/[^0-9]/g, ""); } // Instantly inject into all relevant dropdowns alphabetically if (shelfName && newSid) { document.querySelectorAll('select[name="shelvesall"], select[name="sid"], select[name="myshelves"], #myShelvesSelect').forEach(sel => { insertOptionAlphabetically(sel, shelfName, newSid); }); } form.reset(); } else if (cleanResult.includes("Already there")) { status.innerText = "Already exists."; status.style.color = "orange"; } else { status.innerText = "Error."; status.style.color = "red"; } }); // Handle comment submissions cleanly using your standard AJAX form submitter submitFormAjax('commentform', function(result, form) { const commentsContainer = document.getElementById('commentsContainer'); if (!commentsContainer) return; const parser = new DOMParser(); const doc = parser.parseFromString(result, 'text/html'); const newContainer = doc.getElementById('commentsContainer'); if (newContainer) { commentsContainer.innerHTML = newContainer.innerHTML; form.reset(); } }); // Initialize the other AJAX watchers safely once on load if (typeof initShelfItemAjax === 'function') { initShelfItemAjax(); } }); /** /** * 6. GLOBE TRANSLATE POPUP TOGGLE */ function toggleTranslatePopup(event) { event.stopPropagation(); const popup = document.getElementById('translatePopup'); if (popup) { // Explicitly toggle inline display block/none if (popup.style.display === 'none' || popup.style.display === '') { popup.style.display = 'block'; } else { popup.style.display = 'none'; } } } // Close the popup if clicking anywhere else on the page document.addEventListener('click', () => { const popup = document.getElementById('translatePopup'); if (popup && popup.style.display === 'block') { popup.style.display = 'none'; } });