0
我已經根據我的CRM 2011表單的模塊模式設計了JavaScript邏輯。在表單加載的時候,我有時會收到警報'Crm object undefined'
,但刷新(單個或多個)時,此錯誤消失(工作順利)。在CRM 2011中不使用JavaScript模塊模式創建的對象
經過相當困難的掙扎後,我仍然無法理解爲什麼會發生這種情況。它與模塊模式有什麼關係?因爲onLoad
函數被解僱了,但是困擾我的是爲什麼有時Crm
對象沒有被創建。
var Crm = (function (FSX) {
var xrm = {
date: {
setDate: function (sourceAttribute, targetAttribute) {
// ... date setting logic ...
}
}
}
return xrm.date;
}(FSX));
function onLoad() {
if (typeof Crm === 'undefined') {
alert('Crm object undefined');
return;
}
Crm.setDate("fsx_source", "fsx_target");
}
FSX正在另一個在此文件之前加載的腳本文件中創建。 FSX怎麼沒有被創建?你的意思是JavaScript也可能表現異常? –
這不是Javascript。它與CRM如何加載腳本有關。腳本異步加載。上面的代碼可以在FSX完全加載之前運行。嘗試在功能區中加載FSX腳本。功能區腳本是第一次加載,希望您的腳本在FSX創建後運行。我上面提到的文章有關於如何做到這一點的信息。 –
是的,這是一個有用的文章。 –