![](/img/trans.png)
[英]My own content does not load in iframe because of cross-origin framing
[英]Load denied by X-Frame-Options: websitename/Register does not permit cross-origin framing in MVC5
我正在研究Web項目,該項目在移動設備上運行正常,但Iphone上的注冊頁面除外。 我的應用程序在MVC 5 ASP.NET中。 這是我在錯誤控制台中遇到的錯誤。
Load denied by X-Frame-Options: WebsiteName/Register does
not permit cross-origin framing.
我已經嘗試過此帖子的“接受的答案”,但是它對我不起作用。 請幫助我如何解決問題。 任何幫助將不勝感激。 謝謝
嘗試一下...以后,您可以將其做得更好。
// CONTROLLER
[HttpGet]
[XFrameOptionAllowAll]
public ActionResult DoSomething()
{
var viewModel = new DoSomethingViewModel();
return View(viewModel);
}
// ATTRIBUTE
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
filterContext.HttpContext.Response.AddHeader("X-Frame-Options", "AllowAll");
base.OnActionExecuting(filterContext);
}
另外...
如果您在視圖中使用@Html.AntiForgeryToken()
,則此調用將SAMEORIGIN插入回標頭中,因此,這還將強制您的調用失敗。
嘗試使用,在web.config文件中包含代碼
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="*" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
</customHeaders>
</httpProtocol>
</system.webServer>
然后在global.asax文件中包含以下代碼
protected void Application_PreSendRequestHeaders()
{
Response.Headers.Remove("X-Frame-Options");
Response.AddHeader("X-Frame-Options", "AllowAll");
}
建立應用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.