Я использую базовый выпадающий список начальной загрузки v3 для основного меню навигации.Мой код выглядит примерно так:
<li>
<a href="" class="dropdown-toggle" data-toggle="dropdown">Level 1</a>
<ul class="dropdown-menu">
<a href="somelink">Level 2</a>
</ul>
</li>
Конечно, Level 1
не имеет пункта назначения, он просто переключает раскрывающийся список.Когда вы выбираете Level 2
, вы попадаете на веб-страницу, которая динамически генерирует то, что мы называем JobId
, а затем сразу же перенаправляет вас в конечный пункт назначения, а JobId
в качестве строки запроса в URL.
Вот моя проблема: если пользователь щелкнет правой кнопкой мыши на Level 2
и выберет «открыть в новой вкладке», то все хорошо, потому что сначала он проходит процедуру JobId
, и в итоге он получаетновый JobId
.Однако, если они случайно щелкают правой кнопкой мыши на Level 1
и выбирают «открыть в новой вкладке», они получают идентичную копию страницы, на которой они находятся в настоящее время, и поэтому в итоге получают 2 вкладки браузера с ОДНЫМ JobId
, которыйкатастрофа для нашего приложения.
То, что я пробовал: я пытался иметь атрибут href
верхнего уровня как #
, пробовал его как пустое, пытался полностью пропустить href
, и я также пытался дать ему URLна наш экран приветствия на всякий случай.
Единственное, что «сработало», - это привязка пункта меню верхнего уровня к экрану приветствия, однако он имеет побочный эффект.При первой загрузке страницы выпадающие списки работают отлично.Но как только вы выбираете пункт меню один раз, затем в следующий раз, когда вы нажимаете на элемент верхнего уровня, вместо раскрывающегося списка вы попадаете на экран приветствия.
Любые другие идеи о том, как я могу предотвратитьLevel 1
предметы от чего-либо другого, кроме раскрывающихся меню?