Как ссылаться на файл Javascript в HTML в CRM 2011 - PullRequest
1 голос
/ 23 февраля 2012

Я создал два веб-ресурса Javascript с именем new_ / Scripts / My.JSON2.js и new_ / Script / My.RestOperations.js , которые содержат пространство имен с именем MYTEST. И там же я создал одну HTML-страницу для загрузки при нажатии на элемент карты сайта с именем new_ / Webpages / My.sitemapPage.htm . И я пытаюсь вызвать некоторые функции JSON из JScript на html-странице, которые присутствуют в файле «new_ / Scripts / My.RestOperations.js» в пространстве имен MYTEST. В HTML-страницу я добавил ссылку на файлы JScript, как показано ниже:




Функция = pageOnLoad () {
MYTEST.retrieveMultiple (DataSet, фильтр, callBackSuccess, callBackError);
}

Но все равно я получаю сообщение об ошибке:
'MYTEST' не определено.

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Вы можете получить доступ к родительского окна, используя window.parent.

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

Если вы попытаетесь выполнить код в веб-ресурсе до загрузки JavaScript родительского окнафайл, вам также нужно вставить блок try / catch, чтобы обработать тот факт, что родительский файл не был загружен.

try {
    var check = window.parent.MYTEST;
} catch (e) {
    setTimeout(function () { pageOnLoad(); }, 1000);
    return;
}
0 голосов
/ 11 марта 2014

Есть два шага.

  1. Найдите URL веб-ресурса, на который вы хотите сослаться, например, http://servername/organization/WebResources/scriptfile (не включайте расширение js, если оно не было показано в URL)

  2. Поместите этот URL в html-страницу относительно, т.е. если html-файл также находится в папке WebResources, то будет работать только <script type="text/javascript" src="scriptfile"></script>.

Обратите внимание, ключне добавляйте ничего, что не отображается в URL ресурса, когда вы открываете его из своего решения, даже расширения.

...