RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
HTML  2006/11/02 14:19
다른 domain 간의 페이지(origin check)


두 개 이상의 프레임을 가진 페이지 간에 참조를 할 수 없는 경우가 있는데, 세가지 이유가 있습니다.
1. domain, 2. protocol, 3. port 이 다를 때, 서로 참조할 수 없습니다.


http://company.com/dir/page.html에서 아래의 URL을 참조 했을때의 결과입니다.

URL 결과이 유
http://company.com/dir2/other.html가능
http://company.com/dir/inner/another.html가능
http://www.company.com/dir/other.html불가능다른 domain
file://D|/myPage.htm불가능다른 protocol
http://company.com:80/dir/etc.html불가능다른 port

위의 경우 중에서 참조할 수 있는 한 가지 예외가 있습니다. domain입니다.
http://www.company.com/dir/other.html 에서 document.domain = "company.com";로 지정하면 서로 참조할 수 있습니다. 이것의 실행 후에 http://company.com/dir/page.html 페이지를 참조할 수 있습니다.



참조 가능할 때 사용할 수 있는 Properties
ObjectProperties
Imagessrc, lowsrc
Layersrc
Locationx, y 외에 모두
Windowfind
DocumentFor both read and write: anchors, applets, cookie, domain, elements, embeds, forms, lastModified, length, links, referrer, title, URL, formName (for each named form), reflectedJavaClass (for each Java class reflected into JavaScript using LiveConnect)

For write only: all other properties


NN3와 NN4에서 달라진 Origin Check(domain, protocol, port가 다른 페이지간의 참조시 일어남.)
1. form

이름이 있는 form은 NN4에서 origin check에 걸립니다. 이것을 피하기 위해서 폼 이름을 외부변수로 저장하여 window object의 property로 만들면 이 때부터 그 외부변수는 지정받은 폼이 됩니다. 이 외부변수로 참조할 form을 사용하면 됩니다.

2. file:URL

NN3에서는 <script SRC="...">로 아무런 protocol(file:, http:)도 사용할 수 있었지만, NN4에서는 한가지 제한 사항이 새로이 생겼습니다. 그것은 <script SRC="...">의 ...에 file: 외의 protocol을 가진 화일을 열었을 때, 열린 화일에서는 <script SRC="file:...">을 사용할 수 없습니다. file:을 사용할려면 한가지를 Netscape 사용자 폴더의 prefs.js화일에 넣어 줘야 하는데, 그것은 아래입니다.

user_pref("javascript.allow.file_src_from_non_file", true);

이것은 주의해서 사용해야 합니다. 보안상 문제가 있을 수 있습니다.

3. Layer

Layer에서 origin check는 다른 origins의 layer에서 일어납니다.
어떤 페이지가 하나 이상의 layer를 가지고 있을 때, 페이지 간의 layer를 먼저 사용하기 전에 origin check를 먼저 합니다.

4. Java Applet에서 Origin Check가 일어나는 때.

Applet가 JavaScript를 사용할 수 있게 하는 MYSCRIPT attribute를 가지고 있는 Applet가 JavaScript를 호출할 때 일어납니다. 여기서 applet의 origin은 applet 택을 가지고 있는 페이지의 URL입니다.



이 페이지 Origin Check는 확인 해보지 못했습니다.
Netscape 사의 설명을 번역한 것입니다.

IE에서는 다를 수 있습니다.



--
ie4에서 프레임에서 두 페이지가 같은 domain 이라도 host가 다를때 서로 페이지를 참조할 수 없습니다. ie4에서 다른 zone(지역도메인) 의 페이지를 참조하기 위해서는 두 페이지에 모두에
<script>	document.domain = "mySite.com"</script>
으로 같은 도메인을 지정하여야 하면 다른 호스트의 페이지를 참조할 수 있습니다. 위의 설정을 host1.mySite.com 과 host2.mySite.com 에 있는 두 페이지에서 지정을 해야합니다. 이것은 ie3.x대 에서는 없고 ie4에 추가된 cross-frame security 입니다.
2006/11/02 14:19 2006/11/02 14:19
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)