2011-01-24 4 views
0

나는 이것으로 어떻게 얻는 지 잘 모르겠다. dotnetopenauth 라이브러리와 함께 openId를 사용하고 있습니다.창을 열고 자바 스크립트 창을 닫을 수 있습니까?

클릭하면 서버에 jquery 게시물을 보내고 공급자에게 요청을 보내는 미리 정의 된 공급자가 있습니다.

나는 공급자로부터 URL을 받고 나는 window.open (....)을하고 미리 정의 된 높이와 너비로 새 창으로 엽니 다.

이제 로그인하여 모든 멋진 작업을 수행합니다. 이제 공급자는 자신이 지정한 컨트롤러 메서드로 정보를 보냅니다.

이제 인증 한 후 새 페이지로 이동하고 싶습니다. 그러나 나는 주 창에서 열어야하는 페이지와 window.open()으로 연 창을 열지 않습니다. 나는 그것을 닫고 사라지 길 바랐다.

나는 작동하지 않습니다. 그 window.open() 창을 사용하여 모든 페이지를로드하기 시작합니다. 그리고 나는 그것을 원하지 않습니다.

나는 무엇을 해야할지 모른다.

답변

0

그것은 바로 얻을 수있는 작업의 복잡한 조각입니다,해야합니다.

+0

나중에 나는 괴짜를 보았다. 그러나 나는 그들이 그것을 어떻게했는지 혼란스럽게 생각했다. 그들은 또한 주문 버전을 사용하고 있으며 몇 가지 변화가 있었던 것처럼 보입니다. 템플릿을 살펴 보겠습니다. 템플릿을 어떻게 사용합니까? 설치했지만 실제로 사용하는 방법을 모르겠습니다. – chobo2

+0

템플릿이 혼란스러워 보인다. 데이터베이스를 만들조차 못한다. 데이터베이스가 존재하지 않는다는 것을 계속 알려줍니다. app.config 파일에서 쉘 데이터베이스를 만들려고했으나 작동하지 않았습니다. – chobo2

+0

음 ... setup.aspx를 방문하기 전에 Everyone에 ** 로컬 ** App_Data 디렉토리에 대한 전체 액세스 권한을 부여하십시오. 그게 가끔 DB를 만드는 데 도움이됩니다. 그런 다음 해당 디렉토리에 얼마나 많은 액세스 권한을 남겨 둘지 파악하십시오. –

1

당신은 단지 주변의 첫 번째 창에 대한 참조를 유지해야합니다

var oauthWindow = window.open(....); 

이상 :

oauthWindow.close(); 
+0

그럼 무엇을 다시 로그인 페이지로 갔다부터 나는 그들이 취소 된 경우에 대해 수행되었다 :

좋은 예 몇입니다 나는 창문을 닫았으므로 보조 창문에 다시 보지 못했다. 그러나 공급자가 인증을 받았다고 말하면 해당 계정으로 리디렉션하고 싶습니다. 따라서 기본 창이 로그인 페이지에있는 동안 보조 창에서 계정을로드합니다. 따라서 보조 창을 닫으면 기본 로그인 페이지가 보입니다. 그래서 나는 창문이나 뭔가를 옮기는 방법을 필요로한다. – chobo2

+0

페이지가 끊임없이 리디렉션되지 않으면 페이지가 원활하게 전환되도록 노력해야합니다. 나는 내가 이것을 할 수 없다고 생각하기 시작했다. 어쩌면 내가 두 창에서 일어난 일을 완전히 제어 할 수 있다면. – chobo2

관련 문제