Para simplificar, tengo un menú que contiene los elementos "W", "X", "Y" y "Z". Cada elemento redirige a una página diferente en el sitio web, independientemente del usuario. Pero quiero que el elemento "Z" redirija específicamente a una página diferente según el usuario. Por ejemplo, si el usuario "1" hace clic en "Z", será redirigido a la página example.com/z1 . Si es el usuario "2" quien hace clic en "Z", será redirigido a example.com/z2 . Etcétera.
Algo como:
if user = user1, then button_Z = <p><a href="http://reddit.com/">Z</a></p>
if user = user2, then button_Z = <p><a href="http://youtube.com/">Z</a></p>
El usuario 1 se redirige a reddit, mientras que el usuario 2 se redirige a YouTube.
Parece que desea hacer una concatenación de cadenas bastante simple en la URL. Aquí hay un ejemplo simple que muestra lo que parece que estás tratando de lograr. Lo más probable es que desee sacar estas variables del ámbito global y aceptarlas como parámetros para sus funciones o utilizar algún tipo de gestión de estado.
let user = '' document.querySelector('#username').addEventListener('change',updateUser) function updateUser(e) { user = e.target.value } document.querySelector('#dropdown').addEventListener('change',redirect) function redirect(e) { const selection = e.target.value; if (selection === 'Z') { console.log(`mywebsite.com/${selection}${user}`) // window.location.replace(`mywebsite.com/${selection}${user}`) } else { console.log(`mywebsite.com/${selection}`) // window.location.replace(`mywebsite.com/${selection}`) } } <input id="username" /> <select id="dropdown"> <option>W</option> <option>X</option> <option>Y</option> <option>Z</option> </select>