Альтернатива для iframes для плагина jQuery ui tabs - с поддержкой обратной передачи - PullRequest
1 голос
/ 05 июля 2011

На самом деле это более конкретная версия вопроса, который я писал в прошлом относительно iframe -

iframe хорошо или плохо для моего сценария веб-приложения MVC

Приведенный выше пост закончился тем, что он был более склонен к «iframe is bad», где я действительно искал солидный эквивалент iframe (если iframes действительно плох для моего сценария). Меня чуть не повесили :) но я просто пытался найти лучшую альтернативу. Некоторые предлагали мне рассмотреть библиотеку AJAX, которая принесет обработку MVC на стороне клиента, слишком сложная . Пост все еще заморожен.

В любом случае, позвольте мне упростить. Я использую плагин jQuery UI для отображения вкладок. Я хочу изолировать страницы с вкладками, потому что они управляют (добавляют \ редактируют) отдельные объекты. Каждая обратная передача / проверка вкладки должна быть изолированной, чтобы обработка на одной вкладке не «мешала» другой . iframes служат цели v.well, и я уже занимался такими вопросами, как тайм-аут сеанса и т. д., но эксперты говорят: «iframes плохие», поэтому я начал искать альтернативы. Надеюсь, вы поняли, что я хочу - замена iframe для изолированной функциональности.

Вот несколько альтернатив, которые я нашел -

  1. jQuery UI tabs разрешает динамическую загрузку, если мы укажем ее в качестве лучшей альтернативы iframe? Это было прекрасно, пока я не застрял в проблемах проверки кросс-таблиц, в отличие от iframe, он не изолирован, и постбэк в одной вкладке пытается отослать всю страницу назад (т. Е. Все вкладки).

  2. Для проблемы, упомянутой в (1.), я наткнулся на плагин, который может ограничить обратную передачу контейнером. ( вкладка jQuery UI + jquery-hyjack ) Выглядит многообещающе - http://code.google.com/p/jquery-hijack/

  3. У меня есть множество решений, таких как встроенный рендеринг вкладок в DIV, на стороне сервера и т. Д., Но это возвращает меня к первоначальной проблеме изоляции. Обратная передача / проверка одной вкладки запускает проверку в других вкладках. Также мне не нравится идея загрузки всей страницы из-за обратной передачи в одной вкладке (другие вкладки остаются неизменными).

  4. Некоторые говорят, что это работает лучше, чем iframe -

объект ClassID = "CLSID: 25336920-03F9-11CF-8FD0-00AA00686F13" type = "text / html" data = "xpto.html" ширина = "300" высота = "300">

(5.) Я просмотрел некоторые популярные блоги, форумы, чтобы найти вопросы о iframe, например: http://www.mediacollege.com/internet/html/frames/pros-cons.html (это о фреймах, но некоторые из них применимы и к iframe)

Если меня не волнует SEO, ссылки / закладки, и я обработал встроенная навигация, безопасность и время ожидания сеанса / проблемы с перенаправлением - ли фреймы все еще дисквалифицировать для моего сценарий

Пожалуйста, предложите и предоставьте достойное решение.

Некоторые ссылки для информации iframe:

1 Ответ

2 голосов
/ 05 июля 2011

Поскольку вы используете ASP.NET MVC (на основе другой публикации), у вас есть контроль над тегом Form. Если вы вкладываете каждую вкладку в свой собственный тег формы, у вас будут поля для каждой вкладки Postback, делающие его 'изолированный, как вы и предполагали, но это все еще полный пост на странице - кажется, вы немного застряли с мантрой WebForms, которая понятна.

Вы также можете сериализовать поля для табуляции вJSON + jQuery во вкладке и создайте сообщение на лету, используя AJAX для другой конечной точки, например ASHX / RESTful API, способной обработать вашу проверку.

РЕДАКТИРОВАТЬ: на IFRAMES, если вы используете вкладки, то этоозначает, что вы должны говорить об информации в том же контексте, а затем о SEO и всем, что не должно быть проблемой.Все всплывающие окна в моем (интранет) приложении, с которым я сейчас работаю, - это iframes, но вы должны много думать о кнопке назад , когда проектируете для них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...