2010-07-31 3 views
0

У меня есть веб-приложение, которое является своего рода приложением календаря, и есть несколько вкладок в верхней части. В настоящее время эти вкладки открыты для новых страниц, поэтому кнопка возврата пользователей по-прежнему работает должным образом.Поиск своего рода «обратного» AJAX-IE: возможно ли это?

Недавно я установил окно «help», которое является div, находящимся внутри заголовка, и остается неизменным по всем страницам. Внутри этого окна помощи пользователь может нажать кнопку, и пошаговые инструкции направляют пользователя через функциональность сайта.

Проблема заключается в том, что пользователю необходимо щелкнуть вкладки, чтобы перейти на новую страницу (пошаговое руководство), которое сбрасывает само окно, и пользователю нужно будет отменить кнопку, чтобы продолжить выполнение инструкций ,

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

Есть ли способ обработать окно справки с данными сеанса или что-то в этом роде, чтобы поддерживать его состояние при подаче новых страниц?

Коробок помощи в настоящее время является ДИВ в заголовке и использует JQuery для некоторых эффектов замирания и т.д.:

<div class="helpbox"> 
    <h2 class="title2a adjust"><a class="nodecoration" href="javascript:animatedcollapse.toggle('collapse1')">Quick Start</a></h2> 
    <div id="collapse1" class="helpbox2"> 

       <ul id="helpbo"> 
        <li class="helpchange"><a href="#">Add Items</a></li> 
        <li class="helpchange"><a href="#">Create Timeline</a></li> 
        <li class="helpchange"><a href="#">Set Reminder</a></li> 
        <li class="helpchange"><a href="#">Detailed Help Topics</a></li> 
       </ul> 
       <hr class="ninetypercent"></hr> 

       <div class="instructions helpitems" id="animators"> 
       <div class="container"><ul> 
       <li>Make sure the <b>Monthly</b> tab is highlighted on the top right of the screen.</li> 
       <li>Click on the day that you want to add an event.</li> 
       <li>You can create a main event-which you can apply a timeline to, or you can create a simple to-do item.</li> 
       <li>Fill in the details. If you are creating a main event, you can add a timeline. If you don't know how to do that, read the <b>Create Timeline</b> help link above.</li> 
       <li>Click <b>Save</b> when you're done.</li> 
       <li>Your event or to-do will now show up in your calendar.</li> 

        </ul></div> 

        <div class="container"><ul> 
        <li>Click on the <b>Admin</b> tab on the top right of the screen.</li> 
        <li>In the main display, next to <b>Manage</b> click <b>Add Timeline</b></li> 
        <li>A new blank timeline template will appear.</li> 
        <li>Give a descriptive title of your timeline. You can always go back and edit things later if you need to.</li> 
        <li>The first column, <b>Days From Event</b>, is the number of days before or after the main event that you want the to-do item to happen. It must be a number-negative numbers for the days before the event and positive number for days after the event.</li> 
        <li>Fill in the <b>Days From Event</b>, the <b>Title</b> and <b>Description</b> of each to-do item you want to create.</li> 
        <li>Click <b>Add More To-Do Items</b> to add another item. Add as many items as you need.</li> 
        <li>If you have added <b>Team Members</b>, you can assign tasks to members in the <b>assigned to</b> column.</li> 
        <li>When you have finished your new timeline, click <b>Save Timeline</b>.</li> 
        <li>Your new timeline is now ready to be applied to your main events</li> 
        </ul></div> 

        <div class="container"><ul> 
        <li>You can set a reminder for a main event or a to-do item.</li> 
        <li>Make sure the <b>Monthly</b> tab is selected on the top right of the screen.</li> 
        <li>First, <b>Create or Select</b> the event that you want to set a reminder for.</li> 
        <li>If you have selected an existing event, click <b>Edit Event</b>.</li> 
        <li><b>Click</b> the <b>Checkbox</b> next to the word <b>Reminder</b>. </li> 
        <li>Set the date and time you'd like your reminder, and you'll get an email reminder then.</li> 

        </ul></div> 

        <div class="container"><ul> 
            <li>For more detailed help on specific features, please click on the <b>Help</b> tab at the top right of the screen.</li> 
            <li>There, you will find several <b>Tutorial Videos</b> That can walk you through more of the complex features.</li> 

        </ul></div> 


       </div> 
      <div class="closebutton"> 
       <a href="javascript:animatedcollapse.toggle('collapse1')">close</a> 
      </div> 


     </div> 
</div> 

ответ

1

Три возможных решений с верхней частью моей головы:

  • в Справке поле может быть рамкой, поэтому другая навигация не влияет на него
  • Состояние окна справки может быть сохранено/восстановлено с помощью обработчика onLoad/unload или обработчика ссылок (да, посмотрите кнопку возврата)
  • Нажав на окно справки, вы можете запросить сервер, который установил бы переменную сеанса, чтобы он оставался открытым для будущих загрузок страниц.
+0

Спасибо. Я думаю о трех вариантах, переменная сессии будет самой элегантной. Теперь мне просто нужно выяснить, как это сделать. :-D – Joel

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