¿Crear una nueva pestaña / cambiar entre tabs en Firefox?

Estoy buscando una forma de mejorar el flujo de trabajo en un CMS basado en PHP. Hay una gran cantidad de cambio entre el modo editor y el modo de vista previa de la página. El modo de editor es enorme de cargar, por lo que me gustaría abrir el modo de vista previa en una ventana diferente.

No quiero usar ventanas nuevas o un iframe dentro de la ventana actual para mantener el flujo de trabajo simple y evitar confusiones.

¿Hay alguna manera de abrir explícitamente una nueva pestaña (no ventana) y saltar a esa pestaña desde un documento en Firefox? La cantidad de usuarios es limitada, por lo que existe la posibilidad de configurar el cliente con las extensiones / permisos necesarios.

Sé que Firefox puede verse obligado a abrir todos los enlaces en tabs, pero creo que eso no lo va a cortar, ya que todavía no puedo abordar y enfocar la ventana recién abierta.

Gracias por todas las excelentes respuestas a todos. Ahora tengo suficiente material para decidir si tomaré el enfoque de greasemonkey, confío en que el usuario configure “abrir en tabs” y dirija la ventana por nombre, o use una solución HTML “en línea” como muchos de ustedes sugirieron. Estoy aceptando la respuesta que creo que fue más esfuerzo.

Encabezo las respuestas que dicen que deberías hacer esto en HTML usando Javascript. Entonces puede funcionar en todos los navegadores compatibles con JS.

Colocaría dos divs en la página y mostraría / escondería cada div, dependiendo de qué pestaña se seleccionara. Si es inteligente acerca de esto, podría atrapar el clic en la pestaña y determinar si el usuario hizo clic izquierdo o medio clic. Si dejan clic, cargue esa pestaña en la página. Si hacen clic con el botón central, permiten que el navegador abra una nueva pestaña / ventana (de acuerdo con las preferencias del usuario, no intente forzarlo) y no cambian la ventana actual (es decir, no cambian a la nueva pestaña) . La acción para hacer clic en la pestaña sería usar AJAX para cargar el contenido del documento remoto y colocarlo en la pestaña. Utilice Javascript para modificar la URL antes de enviar la solicitud AJAX para que el servidor sepa que envía un fragmento de página web en lugar de toda la página.

La ventaja de esta solución dual es que el enfoque con tabs funcionará de la manera que usted desea que funcione en la mayoría de los casos, pero para los usuarios con, digamos, dos pantallas, o que prefieren cambiar entre las tabs del navegador, todavía tendrán la flexibilidad para trabajar en modo de múltiples ventanas. Todo esto se puede hacer sin extensiones de navegador y debería funcionar igual de bien tanto en IE como en Firefox, Opera, etc. Evite encerrarse en un navegador, incluso uno tan excelente como Firefox. Un día un cliente tendrá que usar Opera o Safari y se quedará atascado.

No hay forma de forzar que una ventana se abra como una pestaña. Todo depende de la configuración de preferencias del usuario.

Usted dice que no quiere usar un iframe para evitar confusiones. Ahora no sé sobre el diseño de su sitio web, pero he estado utilizando el enfoque que el editor abre en su propio div justo al lado del contenido que se está editando y el contenido se actualiza en vivo a medida que edita. No es necesario cambiar las tabs.

(Si la ventana es demasiado estrecha, hay tabs HTML Editar y Vista previa )

No parece agregar confusión al usuario y para mí este enfoque funciona realmente bien. Tal vez vale la pena considerarlo en tu caso.

¿Qué pasa con el uso de iframes y JavaScript?

Sé que dijiste que quieres evitar la “confusión con iframes”, pero en mi opinión si realmente necesitas cargar diferentes páginas al mismo tiempo, esta es la mejor opción.

En teoría, podría crear su propio sistema de tabs utilizando javascript o incluso mejor, utilizando jQuery, porque su módulo UI ofrece un control de tabs bastante atractivo.

Para cada pestaña, puede cargar una versión separada “sin encabezado sin pie” de su página de administración específica dentro del elemento . Si el usuario desea modificar algo diferente, simplemente hará clic en la pestaña y traerá iframe diferente.

Todo esto también se puede hacer usando AJAX, pero la solución iframe es bastante sencilla, ya que solo necesita cargar la página lista y todas las devoluciones de datos ya están manejadas por la página original y separadas de la página maestra-administrador.

Es posible que también necesite jugar un poco para establecer la altura correcta de su iframe para que se ajuste a todo el contenido sin barras de desplazamiento, pero esto nuevamente es solo un poco de javascript.

No, no hay forma de forzar la apertura de una nueva pestaña, simplemente porque esto no estaría respaldado por la navegación sin tabs

Solo puede configurarlo para abrir una nueva ventana, no una nueva pestaña.

Me viene a la mente Greasemonkey : un google rápido abre las tabs con un clic izquierdo . Creo que podrías modificar eso para que solo se ejecute en una página en particular, y estarías arriba y lejos.

Esta pregunta me hizo preguntarme si HTML 5 permite ese tipo de especificación, y no (tampoco en ninguno de los otros atributos de hipervínculo ). Un nuevo contexto de exploración es un nuevo contexto de navegación, no hay forma de express una preferencia por pestaña sobre ventana o primer plano sobre fondo.

No puede forzar una pestaña, pero si usa un destino con un nombre específico, como target = “my_cms_window”, muchos navegadores lo abrirán como una pestaña nueva. Además, recordarán el nombre y si usa el objective repetidamente, coloque el contenido en la misma pestaña. He descubierto que esto funciona bastante bien en el mundo real.