2012-05-08 3 views
0

나는 멋진 상자에 로그인 페이지를 가지고 로그인의 클릭에 나는 새 탭 에서 열린 보안 페이지를 원하고이 코드프로그래밍

// 코드에 btnlogin_click

에서 사용
FormsAuthentication.RedirectFromLoginPage(loginID, false); 
    string redirectTo = GetResPath("/webPages/Default.aspx"); 
       ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "add2", "parent.jQuery.redirTo='" + redirectTo + "'; parent.jQuery.fancybox.close();", true); 
aspx 페이지

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('[id*=logn_btn_new]').fancybox({ 
      'width': 480, 
      'height': 280, 
      'padding': 10, 
      'margin': 10, 
      'hideOnOverlayClick': false, 
      'scrolling': 'no', 
      'autoScale': false, 
      'transitionIn': 'none', 
      'transitionOut': 'none', 
      'type': 'iframe', 
      'onClosed': function() { 
       try { 

        if ($.redirTo != null && $.redirTo.length > 0) { 
         var pop = window.open($.redirTo, '_newtab'); 

         if (pop == null) { 
          alert("Please allow popups."); 
         } 


        } 
       } 
       catch (err) { 
        alert(err); 
       } 
      } 
     }); 
    }); 
</script> 

// 및 redirTo 숨겨진 fielld입니다.

새 탭에서 페이지를 열 수 없습니까? 아무도 도와 드릴 수 있습니까?

+1

"redirTo는 숨겨진 필드입니다."- 그래서 $ ('redirTo') .val()'또는'$ ('input.redirTo') .val()'보다는'$ .redirTo '? 왜 그런 식으로 액세스하고 있습니까? jQuery 객체에 값을 저장 했습니까? (왜 그곳에 저장하겠습니까?) – Rup

답변

2

이것은 사용자의 웹 브라우저 설정에 의해 제어되는 것이기 때문에 어렵습니다.

사용중인 방법이 FireFox에만 해당되며 실제로 새 탭이 열립니다. 그러나 이것은 여전히 ​​사용자의 설정에 의해 무시 될 수 있습니다.

그러나 여기에 다른 브라우저에서 동일한 효과를 얻을 IE Open a new tab in IE through Javascript

작업이 필요한 이유는 고려 가치에 대한 기사입니다합니다. 알리지 않고 새 탭/창을 열면 사용자가 혼란 스러울 수 있습니다. 새 창을 열지 않고 모든 것을 동일한 페이지에 유지할 수 있습니까? 그렇다면 사람들은 논리적으로 어느 정도 동일한 결과를 얻을 것이라는 것을 알고 있습니다.

도움이 되었기를 바랍니다.

+0

+1은 사용자의 웹 브라우저 설정에 의해 제어됨을 설명합니다. – GuruC