교차 도메인 JavaScript에는 두 가지 경우가 있습니다.
1. a.c.com 및 b.c.com과 같은 동일한 상위 도메인을 기반으로 하는 하위 도메인 간
2. www. a.com 및 www.b.com
3. 포트는 www.a.com:8080 및 www.a.com:8088과 같이 다릅니다.
4. http://www.a.com 및 https://www.a.com
3번과 4번의 경우에는 백그라운드 프록시를 통해 해결해야 합니다.
a. 개시자의 도메인 아래에 프록시 프로그램을 생성합니다
b. 개시자의 js는 이 도메인에서 프록시 프로그램을 호출합니다
c. 프록시는 수신자에게 요청을 보내고 해당 데이터를 얻습니다
d. 이니시에이터의 js에 데이터를 가져옵니다
이니시에이터 페이지 코드는 다음과 같습니다.
개시자 프록시 코드는 다음과 같습니다.
코드 복사
System.Web.Services 사용.
초기자 페이지 코드는 다음과 같습니다.
코드 복사
코드는 다음과 같습니다.
接收方页face代码如下:
2、动态创建script:
a、在发起方页face动态加载一个script,scriptURL指向接收方的一个处理地址(后台),该地址返유용한 자바스크립트 방법被执行,另외URL中可以传入一些参数,该方法只支持GET方式提交参数。
b、加载적 스크립트可以에서 调用跨域js方法后再做一自己的处理
发起方页면적代码如下:
3、location.hash iframe:
a、发起方创建一个隐藏的iframe,iframe的源指向接收方的页face,并通过接收方页面的hash值来传送数据
b、发起方创建一个定时器,定时检查自己的location.hash并事应的处理
c、接收方创建一个隐藏的iframe,iframe的源指向发起方所在域的一个代理页면, 并将接收方根据发起方传入的数据而处理后的数据过代理页면적해시值来传送
d、接收方创建一定时器,定时检查自己的location.hash并작품상应的处理
e、代理页면创建一个定时器,定时检查自己的location.hash并同步更新发起方页면적hash值
www.a.com/a.html#aaa,其中#aaa就是location. hash值
发起方页face代码如下: