2009-11-27 4 views
1

Я ищу способ улучшить рабочий процесс в CMS на основе PHP. Существует много переключений между режимом редактора и режимом предварительного просмотра страницы. Режим редактора огромен для загрузки, поэтому я хотел бы открыть режим предварительного просмотра в другом окне.Создание новой вкладки/переключение между вкладками в Firefox?

Я не хочу использовать новые окна или iframe в текущем окне, чтобы простой рабочий процесс и избежать путаницы.

Есть ли способ явно открыть новую вкладку (а не окно) и перейти к этой вкладке из документа в Firefox? Количество пользователей ограничено, поэтому есть возможность настроить клиент с необходимыми расширениями/разрешениями.

Я знаю, что Firefox может быть вынужден открывать все ссылки в закладках, но я думаю, что это не сократит его, поскольку я все еще не могу адресовать и сфокусировать только что открытое окно.

Спасибо за все великие ответы всем. У меня теперь достаточно материала, чтобы решить, возьму ли я подход greasemonkey, полагаться на пользователя, чтобы настроить «открывать вкладки» и обращаться к окну по имени или использовать «встроенное» решение HTML, как многие из вас предложили. Я принимаю ответ, который, как я чувствую, прилагал больше усилий.

+1

Я не знаю, поможет ли это, но посмотрели ли вы на вкладку «Mix Mix Plus» (https://addons.mozilla.org/en-US/firefox/addon/1122)? – Mottie

ответ

3

Я второй ответ, который говорит, что вы должны сделать это в HTML с помощью Javascript. Затем он может работать во всех браузерах, поддерживающих JS.

Я бы поставил два div на странице и показать/скрыть каждый div в зависимости от выбранной вкладки. Если вы умны в этом, вы можете поймать щелчок по вкладке и определить, был ли пользователь нажат левой кнопкой или щелкнул по центру. Если они оставят клик, вы загрузите эту вкладку на странице. Если они посередине, вы позволяете браузеру открывать новую вкладку/окно (в соответствии с привилегиями пользователя, не пытайтесь его принудительно) и оставить текущее окно неизменным (то есть не переключаться на новую вкладку) , Действие для щелчка на вкладке будет состоять в том, чтобы использовать AJAX для загрузки содержимого удаленного документа и поместить его на вкладку. Используйте Javascript для изменения URL-адреса перед отправкой запроса AJAX, чтобы сервер знал отправить фрагмент веб-страницы, а не всю страницу.

Преимущество этого двухстороннего решения заключается в том, что подход с вкладками будет работать так, как вы хотите, чтобы он работал в большинстве случаев, но для пользователей, скажем, из двух экранов или предпочитающих переключение между вкладками браузера, они будут по-прежнему иметь гибкость для работы в многооконном режиме. Это можно сделать без каких-либо расширений браузера, и он должен работать одинаково хорошо в IE, а также в Firefox, Opera и т. Д. Избегайте блокировки себя в одном браузере, даже один из них отлично, как Firefox. Однажды клиенту нужно будет использовать Opera или Safari, и вы застрянете.

16

Невозможно заставить окно открыть как вкладку. Все зависит от настроек пользователя.

+2

Правильно, представьте, было ли ... хаос. – LiamB

+2

Я так рад, что каждая вкладка имеет javascript песочницу в современных браузерах. Хаос, который возникнет иначе, просто не задумывается о –

+1

. Я согласен, что нет способа сделать это в прямом HTML для удобства пользователей. Вот почему я упомянул, что установка расширения возможна. Возможно, для этой цели существует. –

1

Нет, нет никакого способа, чтобы заставить открытие новой вкладки, просто потому, что это было бы без поддержки ООН-вкладок просмотра

Вы можете только установить его, чтобы открыть новое окно, а не новая вкладка ,

1

Greasemonkey источник на ум - быстрый google дает open in tabs on left click. Я думаю, вы можете изменить это так, чтобы он работал только на одной странице, и вы были бы наверху и прочь.

3

Вы говорите, что не хотите использовать iframe, чтобы избежать путаницы. Теперь я не знаю о макете вашего сайта, но я использовал подход, который редактор открывает в своем собственном div прямо рядом с редактируемым контентом, и контент обновляется по мере редактирования. Не нужно менять вкладки.

(Если окно слишком узкое есть HTML вкладки Edit и Просмотр)

Это, кажется, не добавить путаницы для пользователя и для меня этот подход работает очень хорошо. Возможно, это стоит рассмотреть в вашем случае.

+0

+1, мне нравится вариант с вкладками, который, как мне кажется, является самым близким с точки зрения пользовательского интерфейса к запрошенной/надежно включенной функции. –

2

Как насчет использования фреймов и JavaScript?

Я знаю, что вы сказали, что хотите избежать «путаницы с использованием iframes», но, на мой взгляд, если вам действительно нужно загружать разные страницы одновременно, это лучший вариант.

В теории вы можете создать свою собственную систему вкладок, используя javascript или даже лучше, используя jQuery, потому что его модуль пользовательского интерфейса предлагает довольно прохладно tab control.

Для каждой вкладки вы можете загрузить отдельную версию «без заголовка без нижнего колонтитула» вашей конкретной страницы администратора внутри элемента .Если пользователь хотел изменить что-то другое, он просто нажимает на вкладку и выводит другой iframe.

Все это также можно сделать с помощью AJAX, но решение iframe довольно просто, так как вам просто нужно загрузить готовую страницу, и все обратные передачи уже обрабатываются исходной страницей и отделены от master-admin-page.

Возможно, вам также потребуется немного поиграть, чтобы установить правильную высоту вашего iframe, чтобы он соответствовал всему содержимому без полос прокрутки, но это опять-таки просто бит javascript.

1

Этот вопрос заставлял меня задаться вопросом, разрешает ли HTML 5 такую ​​спецификацию и it doesn't (ничто в одном из других hyperlink attributes). Новый контекст просмотра - это новый контекст просмотра, нет способа выразить предпочтение вкладке над окном или переднем плане над фоном.

1

Вы не можете форматировать вкладку, но если вы используете цель с определенным именем, например target = "my_cms_window", многие браузеры откроют это как новую вкладку. Кроме того, они будут помнить имя, и если вы используете цель повторно, поместите содержимое на ту же вкладку. Я обнаружил, что это очень хорошо работает в реальном мире.

+0

Wordpress использует этот метод для просмотра сообщений/страниц –

Смежные вопросы