I tried many ways to play a sound from the URL but it isn’t working.
When I inspected the page have errors console:
chrome-extension://invalid/:1 GET chrome-extension://invalid/ net::ERR_FAILED
Uncaught (in promise) DOMException: Failed to load because no supported source was found.
manifest.json:
"options_page": "./html/content.html", "permissions": [ "activeTab", "storage", "contextMenus", "http://*/*", "https://*/*", "tabs" ], "web_accessible_resources": [ "*.mp3", "*.ogg" ]
I’m doing this in options_page that is content.html. I have also given ‘web_accessible_resources’ permission to the script, but still no success. All the audio links are stored in chrome storage.
Script that’s attached in content.html:
document.addEventListener('click', function (e) { e.preventDefault(); if (e.target.matches('.audioBtn')) { chrome.storage.local.get({ meanifyWords: [] }, (result) => { let getWordsObj = result.meanifyWords; let getAudio = getWordsObj[e.target.id].audio; //getAudio="//ssl.gstatic.com/dictionary/static/sounds/20200429/experience--_gb_1.8.mp3" let sound = new Audio(getAudio); sound.play(); }) } });
Please point me to any changes in the above code that will solve this problem. Thanks in advance.
Advertisement
Answer
Add schema to URL:
let getAudio = "https:" + getWordsObj[e.target.id].audio;