title: Cannot access Xrm.Page.data from within HTML web resource in CRM 2011
body: <p>I'm trying access the Xrm.Page.data object from within an HTML web resource that I have inserted onto a form in CRM 2011. However, depending on how I try to access the Xrm entity, I find that it is undefined or that Xrm.Page.data is null. The code for the web resource is as follows: </p>
  
  <pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  &lt;html&gt;
  &lt;head&gt;
  &lt;script type="text/javascript"&gt;
  
  function OpenMyApp(e){
      alert('Xrm defined: ' + (typeof Xrm != 'undefined'));
          // The line above returns the string 'Xrm defined: false'
  
      alert('window.top.opener.parent.Xrm defined: ' + (typeof window.top.opener.parent.Xrm != 'undefined'));
          // The line above returns the string 'window.top.opener.parent.Xrm defined: true'
  
  
      alert('frames[0].Xrm defined: ' + (typeof frames[0].Xrm != 'undefined'));
          // the line above will actually throw an error and stop the script, because the frames collection is empty. 
  
      alert(window.top.opener.parent.Xrm.Page.data);
          // the line above returns null. 
  
      // var myId = Xrm.Page.data.entity.attributes.get("new_field_i_want").getValue();
          // The line above is what I would like to see work. 
  
      e.preventDefault();
   }
  &lt;/script&gt;
  
  &lt;/head&gt;
  &lt;body&gt;
  &lt;a onClick="OpenMyApp(event);" href="#"&gt;My Link&lt;/a&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>I've accessed Xrm.Page.data successfully from within a JavaScript function that is part of a library that fires upon a form event (for instance, Form.Load). It's just when it's embedded in an HTML web resource on the form that I run into this problem. Can anyone explain what I'm doing wrong, and if there is actually a way to access Xrm.Page.data in that way that I would like to do? </p>
  
  <p>Thank you. </p>