2013-12-11 45 views
1

我有四个链接导航栏,的onclick任何一个环节的各个页面的导航栏下方的框架打开了,但是当我使用权点击新标签中打开我想整个页面是打开即在新标签单独打开特定链路不应该被允许管理<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你应当引起你的iframe来加载指定的帧源的src:

<% 
// 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

超级超级超级姬!谢谢 –