web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :
Dynamics 365 Community / Blogs / DynamicsDevPro / {Know-how}MSCRM open extern...

{Know-how}MSCRM open external url using Xrm.Utility.openWebResource - D365

ram r Profile Picture ram r


Hello All,

Good to be back with another know-how post, lets see how to open an external url using Xrm.Utility.OpenWebresource

Scenario:
On click of search ribbon button in account form of CRM, open an external url(bing search) using Xrm.Utility.openWebResource

Why to use Xrm.Utility.openWebResource
Window.open is not a supported method to open a webresource

How?
  1. Open a custom HTML webresource using openWebResource method and pass the encoded external URL as query string parameter
  2. In the webresource, redirect to the encoded URL in  parameter.

Steps and code explanation: 
  1. Create a custom HTML webresource(use the code below).
  2. Onload of page, call a js function named getParameters.
  3. The function will retrieve the encoded URL available in query string
  4. Then it will redirect to the encoded external URL(Bing search)

Code snippets

To open Webresource:
var customParameters = encodeURIComponent("<URL goes here>");
Xrm.Utility.openWebResource("ram_webContainer.html", customParameters)

HTML webresource named ram_webContainer.html:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script type="text/javascript" src="ClientGlobalContext.js.aspx"></script>
<script type="text/javascript">
var CRMCustomParameters = [];
var getParameters = function () {
var Parameters = GetGlobalContext().getQueryStringParameters();
if (Parameters && Parameters.Data) {
location.href = Parameters.Data;
}

}

</script>
</head>
<body onload="getParameters()">

</body>
</html>

Hope this helps!

This was originally posted here.

Comments

*This post is locked for comments