Estoy tratando de hacer que diferentes países en este mapa ( http://jsfiddle.net/hansenmc/EnqP3/ ) se abran en una nueva pestaña o ventana. Puedo abrir en la misma ventana sin problemas usando este código.
onRegionClick: function (element, code, region) { if(code == 'il'){ window.open("www.mywebsite.com", "_blank"); }Cuando uso este código, se abre en la misma ventana y en una nueva ventana simultáneamente.
onRegionClick: function (element, code, region) { if(code == 'us'){ window.open = "www.mywebsite.com, _blank"; }Cualquier ayuda para que diferentes países se abran en su propia ventana sería muy apreciada. He probado soluciones de otros subprocesos, pero ninguna parece funcionar en este escenario.
Puede usar el método Event object .preventDefault() en windown.open() .
window.open es una función, por lo que debe llamarse en lugar de asignarse.
En vez de:
window.open = "www.mywebsite.com, _blank";Debería ser:
window.open("www.mywebsite.com", "_blank"); Además, si desea que la función abra la URL correctamente, debe incluir el prefijo http(s):// , de lo contrario, abrirá una ruta relativa desde la ubicación actual de Windows en algunos navegadores.
El código completo en tu caso sería:
onRegionClick: function (element, code, region) { if(code == 'us'){ window.open("www.mywebsite.com", "_blank"); } }Versión más corta:
onRegionClick(element, code, region) => { if(code == 'us') window.open("www.mywebsite.com", "_blank"); }Para una URL dinámica, algo como lo siguiente funcionaría:
onRegionClick(element, code, region) => { if(code == 'us') window.open(`www.mywebsite.com/${code}`, "_blank"); }