Я создал простой пример, где я вызываю страницу ASP.NET из iframe. Он работает в Edge, Safari, Chrome и Opera, но в FireFox iframe пуст. Это тестовая ссылка: https://www.pensa10.it/labs/TestIframe.aspx
В консоли FireFox я не вижу ошибок !!
Тестовый ПК - Windows 10, версия FireFox - FireFox Quantum 69.0.2 (32-битная)). Если iframe src является html-страницей, ошибки нет. Это вторая тестовая ссылка: https://www.pensa10.it/labs/TestIframe2.aspx
Это используемые источники.
web.config
<?xml version="1.0"?>
<!--
Nota: come alternativa alla modifica manuale del file, è possibile utilizzare lo
strumento di amministrazione Web per configurare le impostazioni dell'applicazione. Utilizzare il comando
Configurazione ASP.NET del menu Sito Web di Visual Studio.
Un elenco completo di impostazioni e commenti è disponibile nel file
machine.config.comments che si trova in genere in
\Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<!--
Impostare compilation debug="true" per inserire i
simboli di debug nella pagina compilata. Poiché tale
operazione ha effetto sulle prestazioni, impostare questo valore su true
solo durante lo sviluppo.
-->
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<!--
La sezione <authentication> consente di configurare
la modalità di autenticazione della sicurezza utilizzata da
ASP.NET per identificare un utente in ingresso.
<authentication mode="Windows" />
-->
<!--
La sezione <customErrors> consente di configurare
l'operazione da eseguire in caso di errore non gestito
durante l'esecuzione di una richiesta. In particolare,
consente agli sviluppatori di configurare le pagine di errore HTML
in modo che vengano visualizzate al posto dell'analisi dello stack dell'errore.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
<!--
La sezione system.webServer è richiesta per eseguire ASP.NET AJAX in Internet
Information Services 7.0. Non è necessaria per la versione precedente di IIS.
-->
</configuration>
TestIframe.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestIframe.aspx.cs" Inherits="App_TestIframe" %>
<!DOCTYPE html>
<html>
<head runat="server">
<!-- Required meta tags -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Test iframe</title>
</head>
<body>
<h2>Test iframe</h2>
<div class="container">
<div style="width:100%;height:1000px">
<iframe src="https://www.pensa10.it/labs/SimplePage.aspx" style="width:100%;height:100%"></iframe>
</div>
</div>
</body>
</html>
TestIframe.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class App_TestIframe : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
}
SimplePage.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SimplePage.aspx.cs" Inherits="App_SimplePage" %>
<!DOCTYPE html>
<html>
<head runat="server">
<!-- Required meta tags -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Test iframe</title>
</head>
<body>
<h2>Salve mondo da ASP.NET!</h2>
</body>
</html>
SimplePage.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class App_SimplePage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.AppendHeader("Access-Control-Allow-Origin", "*");
Response.AppendHeader("Access-Control-Allow-Methods", "GET, POST");
Response.AppendHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
Response.AppendHeader("Access-Control-Allow-Headers", "X-Custom-Header");
}
}
Спасибо