2016-11-23 34 views
0

我有一個在功能區命令中啓動的腳本,以便執行操作,但它是用簡單的javascript編寫的。正如我想改進它,我想用JQuery來代替。該腳本位於解決方案中上傳的解決方案中,我應該在解決方案中添加jquery文件嗎?我如何使用它?動態CRM - 如何在JavaScript Web資源中使用JQuery

+0

正在運行的功能區按鈕的上下文是什麼?它是在形式上還是在視圖中?答案會根據您的回答而有所不同。 – hack3rfx

+1

https://msdn.microsoft.com/en-us/library/hh771584.aspx#BKMK_UsingjQuery> **避免在表單腳本或功能區命令中使用jQuery **>我們不建議在表單腳本和功能區命令中使用jQuery。 > jQuery提供的大部分好處是,它允許輕鬆跨瀏覽器操作DOM。這在表單腳本和功能區命令中明確不支持。限制腳本使用表單腳本和功能區命令中提供的Xrm.Page和Xrm.Utility庫。 – mktange

+0

謝謝,但它不回答我的問題.... –

回答

5

您應該能夠訪問的jQuery像這樣(你沒有提到你的版本,這部作品在2016)

$ = ($ || parent.$); 
+1

澄清:CRM是用jQuery製作的,所以如果JS網站資源需要它,就不需要再包含它,它已經存在並且可以使用 – Alex

2

添加jQuery庫到CRM

  1. 你可以從http://jquery.com/下載JQuery的最新版本。

    1. 下載完JQuery之後,您需要將其作爲JScript Web資源添加到CRM中。
    2. 打開您的解決方案或打開默認解決方案,方法是轉到設置>自定義>自定義系統。
    3. 輸入名稱並選擇類型:腳本(JScript)。我建議還在描述中輸入JQuery文件名,以便知道安裝了哪個版本。

    4. 單擊瀏覽並選擇剛剛下載的JQuery文件。

    5. 保存併發布新的Web資源。

    6. 您現在可以將JQuery庫添加到您的表單中,以便您可以從其他Web資源中使用它。
2

所有的答案是正確的,到目前爲止,但我想補充我的投入。

對於初學者,我們可能會觸及一些不受支持的定製,但這不是問題。

如果您在視圖的上下文中運行腳本,則不能直接添加jquery。完成此操作的唯一方法是通過原始腳本將文件作爲資源url中的對象加載並附加到頁面的頭部。然後有一個等待執行剩餘腳本的負載。這顯然超出了它應該是的,我建議反對它。在這種情況下,最好放棄jquery。

最後,如果你正在窗體的上下文中運行它(在窗體上),你可以將jQuery作爲普通腳本添加到實體的窗體中。根據您使用的表單渲染引擎,您可能需要執行Alex建議並設置$ = $ || parent.$;。如果使用更新版本中引入的新渦輪形式,則必須這樣做。除此之外,你不應該從你的功能區使用它。

將JQuery添加到您的解決方案將其添加爲資源。僅憑這一點,就無法讓你隨心所欲地執行它。

3

當你想使用jQuery在你的絲帶命令,使100%肯定jQuery是可用的,你應該添加額外自定義操作在RibbonCommand其中發生以前實際的自定義操作中,你的JavaScript被定義爲。

在此自定義操作中,您可以調用jQuery webresource(您還需要包含)的函數isNaN

假設你正在使用的色帶工作臺(這你應該,如果你不:-)),它是這樣的:

enter image description here

使用這種方法能確定的jQuery將可用,無論您使用什麼上下文(窗體,網格,子網格)。

如果您實際上沒有像這樣添加它,您需要依賴$ ||。父母$,在99%的情況下工作,但不能保證工作。 @Domenico提到的解決方案可以工作,但只有當按鈕顯示在表格上時,jQuery庫纔會在您的自定義代碼之前加載。

相關問題