2012-05-08 2 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()' then, а не '$ .redirTo '? Почему вы так обращаетесь к нему - вы сохранили значение в объекте jQuery? (Зачем вы его сохранили?) – Rup

ответ

2

Это сложный вопрос, поскольку это то, что контролируется настройками веб-браузера пользователя.

Метод, который вы используете, специфичен для FireFox и действительно откроет новую вкладку. Но это все еще может быть отменено настройками пользователя.

Однако, чтобы получить тот же эффект, как в других браузерах вот статья для IE Open a new tab in IE through Javascript

Стоит задуматься, почему вы должны это сделать. Пользователи могут быть смущены, если вы откроете новую вкладку/окно, не сообщив об этом. Возможно ли открыть новое окно и сохранить все на одной странице? Тогда вы знаете, что люди логически будут иметь одинаковые результаты.

Надеюсь, это поможет!

+0

+1 для объяснения, что он контролируется настройками веб-браузера пользователя! – GuruC

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