2013-12-11 4 views
1

У меня есть навигационная панель с четырьмя ссылками, на которой отображается любая ссылка, соответствующая страница открывается в рамке под навигационной панелью, но когда я использую щелчок правой кнопкой мыши на новой вкладке, я хочу, чтобы вся страница была открытое, т.е. открытие отдельной ссылки только на новой вкладке не должно быть разрешено.Управление <iframe> на странице jsp

Ссылки должны быть открыты или показаны только в рамке, а не отдельно. это можно сделать?

<a href="page1.jsp" target="frame1">page1</a> 
<a href="page2.jsp" target="frame1">page2</a> 
<iframe name="frame1" src="page3.jsp"> 

Правый щелчок по ссылке и открытие в новом окне должны снова запустить все приложение.

ответ

0

Каждая страница, которая должна отображаться только в iframe (page1.jsp, page2.jsp и page3.jsp), должна включать JS для определения того, отображается ли она в ее собственном окне. Например, если страница с IFRAME является index.jsp, Page1.jsp должен включать этот код:

<script type="text/javascript"> 
<!-- 
if (top.location.href == self.location.href) 
    // Redirect user to main page, passing current page name: 
    top.location.href = 'index.jsp?frame=page1'; 
//--> 
</script> 

Затем в index.jsp вы должны вызвать СРК вашего фрейма для загрузки указанного источника кадра:

<% 
// Establish default source: 
String frame_src = 'page3.jsp'; 
// Establish controlled list of pages to show in the iframe (important to be restrictive) 
String[] allowed_srcs = ['page1','page2','page3']; 
// Get targeted frame from query string, if given: 
String targeted_frame = request.getParameter('frame'); 
if(Arrays.asList(allowed_srcs).contains(targeted_frame)) 
    frame_src = targeted_frame + '.jsp'; 
%> 
<iframe name="frame1" src="<%= frame_src %>"></iframe> 
+0

Super super super ji !! благодаря –

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