2008-12-30 168 views
0

我使用window.open(...)從Intranet頁面加載Microsoft CRM 4.0窗口。獲取CRM彈出窗口刷新打開窗口

當窗口關閉時,我需要它以編程方式按下打開它的頁面上的按鈕。我可以通過獲取按鈕(其名稱在查詢字符串中傳遞)並在JavaScript中執行其單擊方法來從我自己的窗體執行此操作。

我想我可以嘗試與包含CRM頁面,我對我們的內聯網等基於Web的系統做一個iframe打開我自己的窗口。在頁面中,我可以點擊頁面的onunload事件中的按鈕。但是,儘管這對我們大多數系統都有效,但使用CRM我遇到了兩個問題。

  1. 如果我打開一個窗口,然後關閉它,我會得到一個CRM錯誤。
  2. 如果我從CRM窗口中按下保存並關閉按鈕,它會保存但不關閉。

是否有一個解決方案?

回答

1

你可以做一些像使用基本的javascript window.opener調用。

Page 1打開CRM窗口。在CRM窗口的OnSave調用是這樣的:

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

凡DoSomeFunction()是在第1定義JavaScript函數,你可以使用PageMethod的或__doPostBack()調用。我沒有機會在MS CRM中嘗試這種方法,但理論上這種方法可能有效。

http://www.dotnetspider.com/resources/22146-How-call-parent-page-javascript-function-from-popup-window.aspx

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

上的javascript window.opener參考

0

是否由跨站點腳本預防造成的錯誤?除非內聯網應用程序和CRM駐留在同一臺服務器上,否則在它們之間來回發送數據困難重重。

對不起,如果我不完全明白你想完成什麼,但我不能完全可視化你的描述。也許一個簡單的草圖/繪圖會有所幫助?

我與Dynamics CRM中的工作自己的時刻,很高興提供幫助,因爲我們已經遇到了各種問題與它不得不發明了許多解決方法。樂於分享。