Как перенаправить на любой веб-ресурс по нажатию кнопки в MS Dynamics CRM Online?
Я сталкиваюсь с проблемой при перенаправлении на любой веб-ресурс HTML.
Я добавил HTML-страницу в качестве имени веб-ресурса "new_My_ProductList" в решении.
Я создал кнопку "Перейти к моему продукту" на ленте и установил следующую функцию файла JS в качестве команды. Это откроет окно.
function RedirectToLowStockList() {
window.open('WebResources/new_My_ProductList', '_blank', 'scrollbars=1,menubar=no,height=500,width=1000,resizable=1,toolbar=no,status=1');
}
Вышеуказанная функция отлично работает, когда URL выглядит так: " https://mydomain.crm.dynamics.com/WebResources/new_My_ProductList"
Но иногда он генерирует неправильный URL и показывает ошибку 404
Вот пример неправильного URL:
1- https://mydomain.crm.dynamics.com/_root/WebResources/new_My_ProductList
2- https://mydomain.crm.dynamics.com/_form/WebResources/new_My_ProductList
Мы видим, что в URL автоматически добавлено 2 ключевых слова "_root" и "_form".
Кто-нибудь может предложить мне решение? Если вышеуказанный способ не подходит, кто-нибудь может предложить мне соответствующее решение?
2 ответа
Вместо этого используйте функцию SDK.
Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height)
Ваша лента должна поддерживать директиву $webresource:. Из документации Microsoft:
По возможности используйте директиву $ webresource. Только ссылки, которые используют директиву $ webresource в командах карты сайта или ленты, устанавливают зависимости. Зависимости не создаются, когда веб-ресурсы ссылаются друг на друга.
Если вы не знакомы с редактированием решения XML, вы можете установить этот инструмент Ribbon Workbench, чтобы помочь вам.
Если вы все еще не уверены, вы можете использовать Xrm.Utility.openWebResource(webResourceName, webResourceData, width, height)
, Его использование задокументировано здесь.