Good morning, I've just checked that extension was not working on Deezer; and just took a look at the code, and it is happening because the selector for getting buttons is using aria attribute, so it is not consistent between languages (if you have the browser in a language that is not English, aria-label will not be 'Next' and it will not work, for instance in Spanish it is 'Siguiente'):
"www.deezer.com": {
buttonBased: true,
next: `'.svg-icon-group-btn[aria-label="Next"]'`,
prev: `'.svg-icon-group-btn[aria-label="Back"]'`,
playPause: `'.svg-icon-group-btn[aria-label="Pause"], .svg-icon-group-btn[aria-label="Play"]'`,
}
As this selectors are being used directly to apply the click
event; and there is no a 'parent selector' in JS, I can't get a clean direct solution to this because the 'back', 'play', 'next' classes are directly in the child svg item; and it is not clickable directly through click()
method.
In a dirty way, maybe it could be fixed using this selectors, but I don't know if there could be any side effect (that empty svg-icon-group-item
list items that deezer put there are really suspicious, but it seems that they are using it just for margin):
"www.deezer.com": {
buttonBased: true,
next: `'.svg-icon-group-item:nth-child(5) .svg-icon-group-btn'`,
prev: `'.svg-icon-group-item:nth-child(1) .svg-icon-group-btn'`,
playPause: `'.svg-icon-group-item:nth-child(3) .svg-icon-group-btn'`,
}
It should work with current Deezer HTML structure, and doesn't need to modify the JS working with diferent flows; working just like it is doing till now, but in every lang.
Thanks for your work! If I can help with something, let me know!