2012-10-23 2 views
0

프레임 셋을 사용하는 페이지가 있습니다.프레임 셋을 닫는 방법?

상단 프레임 = 헤더 정보 (마찬가지로 로그 아웃, 로그인 사용자 정보 등) 왼쪽 프레임 = 메뉴 항목 센터 프레임 = 내가에서 로그 아웃 할 때

내 문제는 해당 클릭 메뉴에 대한 데이터 페이지 응용 프로그램 The logout functionalist is called in header section 및 또한 작동하지만 다른 프레임이 닫히지 않습니다.

이상이 올 방법 :

이 formsets와 전체적인 디자인을

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> 
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> 
<%@ page contentType="text/html"%> 
<%@ page pageEncoding="UTF-8"%> 
<% 
    String resourcePath = request.getContextPath(); 
%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> 
<html><head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<link rel="shortcut icon" href="favicon.ico"> 
<title>SecureEyes - Infusing Security</title> 
<script language="javascript" type="text/javascript" src="<%=resourcePath%>/scripts/frameset.js"></script> 
<script language="javascript" type="text/javascript" src="<%=resourcePath%>/scripts/commonForHomePageTemplate.js"></script> 
<script language="javascript"> 
<!-- 
var opt_no_frames = false; 
var opt_integrated_mode = false; 
var _help_prefix = ""; 
var _help_module = ""; 
var _context = ""; 
//--> 
</script> 
</head> 

      <frameset border="0" frameborder="0" framespacing="0" rows="64,*"> 
       <form method="post" > 

        <frame border="0" frameborder="0" framespacing="0" id="topFrame" name="topFrame" src="<%=resourcePath%>/common/header.jsp" marginheight="0" marginwidth="0" noresize="noresize" scrolling="no"> 
        <frameset border="0" frameborder="0" framespacing="0" id="MainFrameSet" cols="209,*"> 
          <frame noresize="noresize" border="0" frameborder="0" framespacing="0" id="leftFrame" name="leftFrame" src="<%=resourcePath%>/common/left_menu.jsp" > 
          <frame border="0" frameborder="0" framespacing="0" id="workFrame" name="workFrame" src="<%=resourcePath%>/common/WelcomePage.jsp" marginheight="7" marginwidth="7" noresize="noresize" scrolling="auto"> 
        </frameset> 
        <input type="hidden" id="method" name="method" /> 
       </form> 
      </frameset> 
</html> 

이 난 기능을 로그 아웃 한 장소 :

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> 
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> 
<%@ page contentType="text/html"%> 
<%@ page pageEncoding="UTF-8"%> 
<%@page import="com.secureyes.eswastha.struts.viewmodel.UserViewModel"%> 
<% 
    String resourcePath = request.getContextPath(); 
    UserViewModel userVM = new UserViewModel(); 
    if(session.getAttribute("userDetails")!=null){ 
     userVM = (UserViewModel) session.getAttribute("userDetails"); 
    } 
%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <link rel="shortcut icon" href="https://indedev.com:8443/favicon.ico"> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script language="javascript" type="text/javascript" src="<%=resourcePath%>/scripts/commonForHomePageTemplate.js"></script> 
     <script language="javascript" type="text/javascript" src="<%=resourcePath%>/header_data/prototype.js"></script> 
     <script language="javascript" type="text/javascript" src="<%=resourcePath%>/header_data/tooltip.js"></script> 

     <link rel="stylesheet" type="text/css" href="<%=resourcePath%>/header_data/general.css"> 
     <link rel="stylesheet" type="text/css" href="<%=resourcePath%>/header_data/custom.css"> 
     <link rel="stylesheet" type="text/css" href="<%=resourcePath%>/header_data/layout.css"> 
     <link rel="stylesheet" type="text/nonsense" href="<%=resourcePath%>/header_data/misc.css"> 

<script> 
    var tooltip; 
    var opt_no_frames = false; 
    var opt_integrated_mode = false; 

     function logOut(){ 
     top.close(); 
     document.forms[0].action="LogoutAction.htm"; 
     document.forms[0].method.value="loginPage"; 
     document.forms[0].submit(); 
    } 
</script> 
<script> 
    history.forward(); 
</script> 

</head> 
<body onload="SetContext(''); " onunload="" id="topCP"> 
<div class="body"> 
    <form method="post"> 
    <table cellspacing="0" width="100%"> 
     <tbody> 
      <tr> 
       <td class="companyLogo"><span class="topLogo"><img src="<%=resourcePath%>/header_data/logo.png" name="logo" border="0" height="53"></span></td> 
       <td> 
        <div id="topTxtBlock" class="withTopRightLogo"> 
         <span id="topTxtLoggedInAs">Logged in as <b><%=userVM.getUsername()%></b></span> 
         <span id="topTxtMyAccount"><a class="tootlipObserved" name="" id="" href="#" onmouseover='tooltip.set(event, [{"type":"string","string":"View preferences of your control panel account."}]);' onmouseout="tooltip.hide();" >My account</a></span> 
         <span id="topTxtLogout"><a class="tootlipObserved" href="#" onclick='if (confirm("Are you sure you want to log out?")) logOut("logout"); return false;' onmouseover='tooltip.set(event, [{"type":"string","string":"Log out of eSwastha."}]);' onmouseout="tooltip.hide();">Log out</a></span> 
        </div> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
     <input type="hidden" id="method" name="method" /> 
    </form> 
</div> 
<div style="position: absolute; top: 14px; left: 1111px; display: none;" class="tooltip">View preferences of your control panel account.<br></div> 
</body> 
</html> 

내가보다 새로 고침 눌러 모든 것이 다시로드됩니다. 따라서 새로 고침을 사용 중지하고 javascript를 사용하여 뒤로 및 앞으로 기능을 비활성화하는 방법은 무엇입니까?

답변

1

간단한 답 : Don't-use - frames

+0

좋은 설명하지만, 클라이언트가 그것을 위해 경우 여전히 클라이언트는 개발자로 우리가 –

+0

I에 것보다, 무엇을해야 하는지를 프레임을 가지고 싶어 "개발자가 고객이 원하는 것을해야한다"는 논의에 들어 가지 않을 것입니다. 개발자로서 저는 제 자신을 전문가라고 생각합니다. 클라이언트가 제 작업이 어떻게 최선으로 이루어 졌는지 알려주는 경우 - 음, 분명히 그는 자격이 더 많아서, 왜 처음에 저를 고용해야합니까? 나도 알아, 때로는 당신이 선택의 여지가없는 상황이 있지만, ** 프레임 **은 그냥 터무니 없습니다. –

+0

:) 토론에 좋지만 고객이 ... ... –

관련 문제