簡體   English   中英

當兩個框架具有相同的domain 2級別時,使用JavaScript的跨域腳本是否可以工作?

[英]Will cross-domain scripting using JavaScript work when the two frames have the same domain 2 levels up?

我有一種方案,其中.net應用程序是從SAP門戶托管的。

  • SAP門戶域: portalURL.al.xx.company.com
  • 應用服務器域: AppURL.ss.xx.company.com

如您所見,門戶和應用程序服務器域不是同一級別的1級 。(即,在1級向上,門戶網站的域將是al.xx.company.com,而應用程序服務器將是ss.xx.company.com)。

但是,在2級以上,門戶網站和應用程序服務器域都是相同的。 (即xx.company.com)。

在我的JavaScript代碼中,我將document.domain對象設置為xx.company.com 但是,我仍然收到“ 權限被拒絕 ”錯誤。

Portal和Appserver的協議相同。

僅當域在1層以上相同時,根據同源法的跨域腳本才會起作用嗎? 請告訴我。

是的,“原產地”政策將拒絕這樣做。 這兩個幀必須位於完全相同的域上,甚至必須位於相同的端口上。

但是, document.domain 應該可以解決此問題。 如果它對您不起作用,請記住,必須在兩個框架document.domain設置為xx.company.com (並且,如果您正在沿其他框架的層次結構進行操作以達到該目標(例如top.frame2 )您還需要為其他框架設置它( top )。

但是,如果您有權訪問所有代碼,則可以使用JSON-P解決此問題。

看一下同源策略 ,嘗試考慮jsonp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM