Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
IFRAME y los controles de recursos web insertan contenido desde otra ubicación en las páginas mediante un elemento de IFRAME HTML.
Nota:
Los diseños que elija para el formulario también se usan para el panel de lectura de Dynamics 365 para Outlook y los formularios que usa Dynamics 365 para tabletas. Los recursos web e IFRAMES no se muestran usando del panel de lectura de Dynamics 365 for Outlook, sin embargo, se admiten en Dynamics 365 para tabletas. Si su IFRAME depende del acceso al objeto de Xrm
de la página o a cualquier controlador de eventos de formulario, deberá configurar IFRAME para que no sea visible de forma predeterminada.
El contenido de IFRAMEing que está detrás de un límite de autenticación no es compatible a través de recursos web o Power Apps component framework. Algunos IFRAME incrustados pueden funcionar en un cliente de navegador si el usuario inicia sesión directamente en el servicio externo, pero esto no es compatible con aplicaciones móviles o para tabletas. No se admite el escenario específico de incrustar un formulario de entidad dentro de un IFRAME, incrustado en otro formulario de entidad.
Puede usar un IFRAME para mostrar los contenidos de otro sitio web en un formulario, por ejemplo, en una página ASP.NET. No se admite la visualización de un formulario de entidad dentro de un IFrame incrustado en otro formulario de entidad.
Puede usar uno de los siguientes recursos web para mostrar los contenidos de recursos web en un formulario:
Nota:
Silverlight solo se incluye por compatibilidad con versiones anteriores y no se recomienda. Más información:Recursos web de Silverlight (XAP)
En las siguientes secciones se describen sus opciones si desea que estos controles muestren más que contenido estático.
Seleccione si se restringe el scripting entre marcos
Use la opción Restringir el scripting entre marcos cuando se admita cuando no confíe totalmente en el contenido que aparece en un IFRAME. Cuando se selecciona esta opción, el IFRAME tiene los atributos establecidos que se enumeran en la tabla siguiente.
Atributo | Descripción |
---|---|
security="restricted" |
Este atributo solo es compatible con las versiones de Internet Explorer no anteriores a la versión 6. El atributo de seguridad aplica la configuración de seguridad del usuario Sitios restringidos al archivo de origen del IFRAME. (La configuración de zona se encuentra en la pestaña Seguridad del cuadro de diálogo Opciones de Internet ). De forma predeterminada, las secuencias de comandos no están habilitadas en la zona Sitios restringidos. Al cambiar la configuración de seguridad de la zona, pueden producirse varios resultados negativos, incluido el permitir que se ejecuten scripts. Para obtener más información, consulte atributo de seguridad. |
sandbox="" |
Para los navegadores que admiten este atributo, el contenido del IFRAME se limita esencialmente a mostrar solo información. Se pueden aplicar las siguientes restricciones: - Están inhabilitados los complementos del explorador. - Los formularios y scripts están deshabilitados. - Los vínculos a otros contextos de navegación están deshabilitados. - El contenido se trata como procedente de un dominio diferente aunque el dominio sea el mismo. Este atributo está definido por el W3C y es compatible con los siguientes navegadores: - Internet Explorer 10, Internet Explorer 11 y Microsoft Edge - Google Chrome - Safari de Apple - Mozilla Firefox Para obtener más información sobre el atributo sandbox, consulte: - Cómo proteger tu sitio con HTML5 Sandbox - Espacio aislado |
Activación de la comunicación de IFrame entre dominios
Hay momentos en los que conviene habilitar la comunicación para un IFRAME que contiene contenido de un dominio diferente. Window.postMessage
es un método de explorador que proporciona esta funcionalidad para versiones de Internet Explorer no anteriores a Internet Explorer 8. Google Chrome, Mozilla Firefox y Apple Safari también lo admiten. Para obtener más información acerca del uso de postMessage
, vea las entradas de blog siguientes.
Pasar información contextual sobre el registro
Puede proporcionar información contextual pasando parámetros a la URL definida en el control. La página mostrada en el marco debe poder procesar los parámetros que se le pasan. Todos los parámetros de la siguiente tabla se pasan si IFRAME o el recurso web se configura mediante la utilización de la opción Pasar código de tipo de objeto de registro e identificador único como parámetros.
Puede especificar si se van a pasar todos los parámetros de la siguiente tabla.
Parámetro | Nombre | Descripción |
---|---|---|
typename |
Nombre de entidad | El nombre de la entidad. |
type |
Código de tipo de entidad | Entero que identifica de forma única la entidad en una organización específica. |
id |
GUID de objeto | GUID que representa un registro. |
orgname |
Nombre de la organización | Nombre único de la organización. |
userlcid |
Código de lenguaje de usuario | Identificador del código de idioma que usa el usuario actual. |
Los códigos de idioma son identificadores de configuración regional de cuatro o cinco dígitos. Los valores de id. de configuración regional válidos pueden encontrarse en el gráfico de identificadores de configuración regional (LCID).
Nota:
Le sugerimos que use el nombre de la entidad en lugar del código de tipo, ya que el código de tipo de entidad para las entidades personalizadas puede ser diferente entre las organizaciones de Dynamics 365 Customer Engagement (on-premises).
Ejemplo
El siguiente ejemplo muestra la dirección URL sin parámetros.
https://myserver/mypage.aspx
El siguiente ejemplo muestra la dirección URL con parámetros.
https://myserver/mypage.aspx?id=%7bB2232821-A775-DF11-8DD1-00155DBA3809%7d&orglcid=1033&orgname=adventureworkscycle&type=1&typename=account&userlcid=1033
Leer parámetros pasados
Los parámetros pasados se leen normalmente en la página .aspx de destino mediante la propiedad HttpRequest.QueryString. En una página HTML, se puede acceder a los parámetros utilizando la propiedad window.location.search en JavaScript. Para obtener más información, consulte HttpRequest.QueryString Property y la propiedad de búsqueda.
Pasar datos de formulario
Use el método getValue en los atributos que contienen los datos que desea pasar al otro sitio web y componga una cadena de los argumentos de cadena de consulta que la otra página podrá usar. A continuación, use un evento Field OnChange, un evento IFRAME OnReadyStateComplete o un evento Tab TabStateChange y el método setSrc para anexar los parámetros a la src
propiedad del IFRAME o recurso web.
Si está usando el parámetro de datos para pasar datos a un recurso web de Silverlight , puede utilizar los métodos getData y setData para manipular el valor pasado a través del parámetro de datos. Para recursos web (HTML) de página web, use el método setSrc para manipular directamente el parámetro querystring
.
Evite usar el evento OnLoad. Los IFRAMES y los recursos web se cargan de manera asincrónica y puede que el marco no haya acabado de cargarse antes de que finalice el script de eventos de Onload
. Esto puede provocar que la propiedad src
del recurso IFRAME o web que ha cambiado se sobrescriba con el valor predeterminado de la propiedad IFRAME o URL del recurso web.
Cambiar la URL
Es posible que desee cambiar el destino de IFRAME en función de consideraciones como los datos del formulario o de si el usuario está trabajando sin conexión. Puede definir dinámicamente el destino del IFRAME.
Nota:
Cuando cambie la página de destino del IFRAME, los parámetros no se pasarán a la nueva URL automáticamente. Debe anexar los parámetros de cadena de consulta a la URL antes de usar el método setSrc
.
Ejemplo
En el ejemplo siguiente se muestra cómo establecer la propiedad de src
del IFRAME y cualquier parámetro mediante el evento de onChange
de un campo de conjunto de opciones.
//Get the value of an option set attribute
var formContext = executionContext.getFormContext();
var value = formContext.getAttribute("new_pagechooser").getValue();
var newTarget = "";
//Set the target based on the value of the option set
switch (value) {
case 100000001:
newTarget = https://myServer/test/pageOne.aspx;
break;
default:
newTarget = https://myServer/test/pageTwo.aspx;
break;
}
//Get the default URL for the IFRAME, which includes the
// query string parameters
var IFrame = formContext.ui.controls.get("IFRAME_test");
var Url = IFrame.getSrc();
// Capture the parameters
var params = Url.substr(Url.indexOf("?"));
//Append the parameters to the new page URL
newTarget = newTarget + params;
// Use the setSrc method so that the IFRAME uses the
// new page with the existing parameters
IFrame.setSrc(newTarget);
Diferencias de diseño entre el cliente web heredado y la Interfaz unificada
Un control de recursos web configurado para usar un número determinado de filas tendrá alturas diferentes en una aplicación de interfaz unificada en comparación con una aplicación cliente web heredada. Esto se debe a que hay una diferencia en la altura de una fila entre la interfaz unificada y el cliente web heredado. Si se necesita un formulario tanto en el cliente web heredado como en la interfaz unificada, puede usar diferentes formularios en la aplicación de interfaz unificada y en la aplicación cliente web heredada con el control configurado para usar el número adecuado de filas en cada formulario.
Véase también
Ejemplo de script en Customer Engagement mediante JavaScript
Usar JavaScript con Compromiso del Cliente