1

我已經創建了兩個JavaScript webresources與名稱new_ /腳本/ My.JSON2.jsnew_ /腳本/ My.RestOperations.js其中包含命名空間稱爲MYTEST。在同一個地方,我創建了一個html頁面,當點擊sitemap項目時,加載名稱爲new_/Webpages/My.sitemapPage.htm。而且我試圖在JSON的HTML頁面中調用一些JSON函數,這些JSON函數出現在MYTEST命名空間下的「new_/Scripts/My.RestOperations.js」文件中。 在HTML頁面我添加參考爲JScript文件如下:
如何引用JavaScript文件中的HTML CRM 2011

< SCRIPT類型=文本/ javscript SRC = 「../腳本/ My.RestOperations.js」> </SCRIPT>
< SCRIPT類型=文本/ javscript SCR = 「../腳本/ My.JSON2.js」> </SCRIPT>

< SCRIPT類型=文本/ javscript>
功能= pageOnLoad() {
MYTEST.retrieveMultiple(dataSet,filter,callBackSuccess,callBackError);
}
</SCRIPT>

而我依然收到錯誤爲:
'MYTEST' 是不確定的。

+0

另外,要麼使用'type = text/javascript'的正確拼寫,要麼完全刪除屬性。 – 2012-03-01 22:14:48

回答

1

您可以使用window.parent訪問父窗口的

window.parent.MYTEST.retrieveMultiple(dataSet,filter,callBackSuccess,callBackError); 

如果試圖在webresource父窗口的JavaScript文件的加載之前執行的代碼,你必須也把一個try/catch塊來處理的事實父文件不是招沒有被加載。

try { 
    var check = window.parent.MYTEST; 
} catch (e) { 
    setTimeout(function() { pageOnLoad(); }, 1000); 
    return; 
} 
0

有兩個步驟。

  1. 找到您要引用例如 網絡資源的URL http://servername/organization/WebResources/scriptfile(不要包含extention JS,如果它不是在URL所示)

  2. 把那個URL轉換成HTML頁面相對即如果HTML文件也在WebResources文件夾中,那麼只有<script type="text/javascript" src="scriptfile"></script>將工作。

注意關鍵是不能把當您從您的解決方案甚至沒有延伸打開它未在資源URL顯示額外的任何東西。