Asp.net 具有相同域页的iframe的Firefox跨源错误

Asp.net 具有相同域页的iframe的Firefox跨源错误,asp.net,firefox,signalr,Asp.net,Firefox,Signalr,我正在一个小型ASP.NET网站上工作,该网站有一个简单的页面,其中包含一个UpdatePanel,其中包含 显示为模式弹出窗口的固定大小的div 一个按钮来关闭它 一个iframe,其源是来自同一域的普通页面 域是http://localhost:8080代码如下: <asp:UpdatePanel ID="Popup" UpdateMode="Conditional" runat="server"> <ContentTemplate> <div id

我正在一个小型ASP.NET网站上工作,该网站有一个简单的页面,其中包含一个UpdatePanel,其中包含

  • 显示为模式弹出窗口的固定大小的div
  • 一个按钮来关闭它
  • 一个iframe,其源是来自同一域的普通页面
域是
http://localhost:8080
代码如下:

<asp:UpdatePanel ID="Popup" UpdateMode="Conditional" runat="server">
<ContentTemplate>
    <div id="Container" class="modal" runat="server">
        <div>
            <asp:LinkButton OnClick="ClosePopup" runat="server" />
            <div>
                <iframe src="http://localhost:8080/somepage" />
            </div>
        </div>
    </div>
</ContentTemplate>
除打开和关闭弹出窗口外,不执行任何代码。消息出现后,似乎会触发ClosePopup事件,但这可能是由于某些VS2013延迟造成的。站点不使用信号器,但错误包含信号器引用

功能不受影响,但我想了解为什么会发生这种情况。这个错误只发生在Firefox(34)中。很明显,信号员参考是罪魁祸首,但为什么它会出现在那里呢?有人知道这是什么原因吗?

是Visual Studio 2013中引入的一项功能,它使用SignalR提供一些简洁的开发功能

浏览器链接并不是试图连接到您的网站,而是试图与Visual Studio本身进行通信。除非您使用Visual Studio启动项目,否则不应出现此问题

这解释了为什么更改web.config以允许CORS对该问题没有影响。我会小心地普遍启用CORS,因为如果您不小心的话,这可能会使您面临XSS漏洞

应该解决这个问题。你甚至可以

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
 </httpProtocol>