2012-02-28 3 views
1

클래식 ASP에서 일부 트위터 인증을하고 있습니다. (알고 있지만 변경할 수는 없습니다.) 내가하고있는 일은 window.open을 가진 jQuery/JS를 통해 팝업에서 인증 페이지를 여는 것이다.이 페이지는 나머지/oauth 인증을 모두 처리하고 필요한 oauth 키로 같은 페이지로 돌아 간다. 그런 다음 팝업을 닫고 일부 jQuery 숨기기/표시 이벤트를 페이지를 새로 고치지 않고 실행하고 싶습니다. 우리가 다시 리디렉션 할 때부모 페이지에서 자식 팝업 화재 jQuery 코드를 닫습니다.

jQuery(document).ready(function() { 
     jQuery("#twitter-button").live("click", function() { 
     jQuery("#twitter-button").attr("value", "Processing"); 
     jQuery("#twitter-button").removeClass(); 
     jQuery("#twitter-button").addClass("twitter-button-processing"); 
     window.open('authentication.asp','_blank','width=600,height=400'); 
     return false; 
     }); 
    }); 

내가 다음에 대한 몇 가지 ASP에 중첩 같은 페이지에 다음 코드가 :

코드 팝업 및 인증 스크립트를 fireoff하는

if Session("OAUTH_TOKEN") <> "" And Session("OAUTH_TOKEN_SECRET") <> "" Then 
%> 
<script type="text/javascript" charset="utf-8" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
jQuery(document).ready(function() { 
    window.close(); 
    // I'd like to show/hide new buttons on the parent page here 
}); 

</script> 
<% 
End If 

목표 트위터 버튼 - 처리 중 하나를 표시하는 클래스와 버튼을 변경하는 것입니다하지만 그것을 부모 창에서 변경할 수 없습니다. jQuery ('. twitter-button-processing') 배치 시도했다. 숨기기(); 닫은 후에 jQuery (window) .unload() 함수를 호출했지만 올바른 결과를 얻지 못했습니다.

Binding jQuery event on a child windowHow to run function of parent window when child window closes?에서 솔루션을 사용해 보았습니다. 어떤 도움이라도 환상적입니다.

+0

은 다른 창을 사용하지 않고 훨씬 더 깨끗하고 단순히 ajax로 제출하는 양식의 대화 상자를 사용합니다 – charlietfl

답변

1

그래서 나는 내 대답을 찾아 냈습니다. 지저분 해지는 동일한 페이지로 리디렉션하는 대신 몇 가지 세션 변수를 확인하는 클래식 ASP를 사용하여 트위터 팝업 창에서 빈 페이지로 리디렉션하고 있습니다. 이것은 내가 아이를 닫는 동안 부모 창에서 JS를 호출 할 필요가 정확히 무엇을했던 ASP를 확인

window.opener.someFunction(); 
window.close(); 

에서

홈페이지 파일

var someFunction = function(data){ 
    //some functionality 
} 

트위터 팝업 리디렉션 창. 아마 이것은 다른 누군가를 도울 것입니다.

관련 문제