HTML-приложение с вкладками - PullRequest
1 голос
/ 15 апреля 2009

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

  1. Я планирую использовать iframes, все ли основные браузеры их поддерживают?
  2. Являются ли iframes устаревшими, каковы, например, альтернативы? тег объекта поддерживается всеми основными браузерами?
  3. Может быть, я могу использовать лучшую стратегию вместо iframe / object?

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

Примечание: я выбрал ответ, который хорошо объясняет, но все же я не уверен, почему нет iframes вопрос iframes vs ajax может ответить на этот вопрос.

Ответы [ 5 ]

2 голосов
/ 15 апреля 2009
  1. Да, все основные браузеры для настольных компьютеров поддерживают фреймы. Как и многие мобильные браузеры, в том числе IEMobile, Opera Mobile и Safari на iPhone. Единственный известный мне браузер, который не поддерживает iframes, это BlackBerry Browser.

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

  3. Что плохого в том, чтобы просто иметь плоскую страницу с обычным меню навигации? Если вы отображаете только одну страницу за раз, и единственным элементом интерфейса, размещаемым вне iframe, является меню вкладок, то почему бы просто не интегрировать вкладки в макет страницы и покончить с рамками?

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

    Фреймы изначально недружелюбны по отношению к пользователю, что, что неудивительно, делает их недопустимыми для поисковых систем; Вот почему так мало профессиональных сайтов используют фреймы / фреймы. Дешевая широкополосная связь достаточно широко распространена в наши дни, поэтому перезагрузка нескольких дополнительных килобайт навигационных данных не имеет значения для общего пользовательского опыта.

1 голос
/ 15 апреля 2009

На вашем месте я бы использовал jQuery UI Tabs вместо своего собственного решения.

0 голосов
/ 15 апреля 2009

Чтобы ответить на ваши первые 2 вопроса:

  1. iframe поддерживается во всех последних веб-браузерах, однако я не уверен насчет мобильных браузеров. Опера мобайл да, теперь не об iPhone.

  2. следующая основная итерация html ведется WHATWG , и iFrame будет поддерживаться Он также поддерживается в xhtml

Что касается разных подходов, то очень многое зависит от того, что вы собираетесь делать с вкладками. если каждая вкладка будет содержать много информации или потребуется время для загрузки, то лучше всего использовать отдельные iFrames. Кроме того, если вы собираетесь повторно использовать код в качестве независимых страниц, тогда iFrames также являются хорошим вариантом.

0 голосов
/ 15 апреля 2009

Для отдельных страниц в каждой вкладке вы также можете использовать серверные включения.

0 голосов
/ 15 апреля 2009

похоже, ваш сайт не статичен, поэтому я не понимаю, почему вы делаете это с голым HTML.

Я бы использовал ASP.NET и CustomUserControl в качестве каждой из ваших вкладок, чтобы все вкладки были действительно независимыми, и вы можете повторно использовать их в любом месте вашего приложения

...