문제

Window.open (...)을 사용하여 인트라넷 페이지에서 Microsoft CRM 4.0 창을로드하고 있습니다.

창이 닫히면 열린 페이지의 버튼을 프로그래밍 방식으로 눌러야합니다. 버튼 (QueryString에서 이름이 전달됨)을 가져 와서 JavaScript에서 클릭 메소드를 실행하여 내 형태 에서이 작업을 수행 할 수 있습니다.

인트라넷의 다른 웹 기반 시스템과 마찬가지로 CRM 페이지가 포함 된 iframe으로 내 창을 열 수 있다고 생각했습니다. 페이지에서 페이지의 OnOnload 이벤트에서 버튼을 클릭 할 수 있습니다. 그러나 이것은 대부분의 시스템에서 작동하지만 CRM과 함께 두 가지 문제가 발생합니다.

  1. 창을 열면 간단히 닫으면 CRM 오류가 발생합니다.
  2. CRM 창에서 저장 및 닫기 버튼을 누르면 저장하지만 닫히지 않습니다.

이것에 대한 해결책이 있습니까?

도움이 되었습니까?

해결책

기본 JavaScript 창을 사용하는 것과 같은 일을 할 수 있습니다.

Page 1은 CRM 창을 엽니 다. 해당 CRM 창의 온 사이트에서 다음과 같은 것을 호출합니다.

if(window.opener.DoSomeFunction != null)
  {
     window.opener.DoSomeFunction;
  }

여기서 dosomefunction ()은 1 페이지의 정의 된 JavaScript 함수입니다. Pagemethod 또는 __dopostback () 호출을 사용할 수 있습니다. 나는 MS CRM 내부에서 이것을 시도 할 기회가 없었지만 이론적 으로이 접근법은 효과가있을 수 있습니다.

JavaScript Window.opener에 대한 참조 :

http://www.dotnetspider.com/resources/

http://www.webreference.com/js/tutorial1/opener.html

다른 팁

크로스 사이트 스크립팅 방지로 인한 오류가 아닌가? 인트라넷 앱과 CRM이 동일한 서버에 상주하지 않는 한, 그 사이에 데이터를 전송하는 것은 성가 시게 어렵습니다.

당신이 성취하고 싶은 것을 정확히 이해하지 못하면 죄송하지만, 당신의 설명을 완전히 시각화 할 수는 없습니다. 간단한 스케치/드로잉이 도움이 될까요?

나는 현재 Dynamics CRM과 함께 일하고 있으며 모든 종류의 문제를 해결하고 수많은 해결 방법을 발명해야했기 때문에 기꺼이 도와 드리겠습니다. 공유하게되어 기쁩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top