parent접근성 질문입니다.

국내에 웹 사이트들이 웹 표준을 지키고 OS나 브라우저와 관계 없이 접근성을 향상 시키기 위한 사이트 버그 신고 및 문제 해결을 위한 게시판입니다.
Post Reply
msk2417

parent접근성 질문입니다.

Post by msk2417 »

iframe에서 parent 의 iframe을 컨트럴 하기 위해

parent.아이프레임이름 과 같은 형식으로 접근을 하였습니다.

사파리,크롬, ie 같은경우 정상적으로 접근이 가능하지만

파포에서만 접근이 되지않아서 에러가 나는데요

이부분은 어떻게 처리해야 하는건가요?

msk2417@nate.com 으로 메일 주셔도 감사합니다.
hyeonseok
해커
해커
Posts: 691
Joined: 2004 08 11 22:14 59
Contact:

Re: parent접근성 질문입니다.

Post by hyeonseok »

일반적으로는 문제가 없어야 하는데요. 문제가 발생하는 코드의 URL을 알려주시면 분석이 더 쉬울 것 같습니다.
Seeker
서포터즈
서포터즈
Posts: 80
Joined: 2008 06 13 16:16 14
Contact:

Re: parent접근성 질문입니다.

Post by Seeker »

아마 javascript 로 iframe 의 name 을 (재)지정 한거 같습니다.

parent 의 element node 로서의 iframe 과 frames 의 frame(window) 로서의 iframe 을 처리하는 방식에 있어서 브라우저마다 약간씩 다릅니다.


보통

<iframe id="ifr_id" name="ifr_name"></iframe>

에서

window.ifr_name
window.frames.ifr_name
document.getElementById("ifr_id").contentWindow

의 방법으로 iframe의 window를 참조하는데

FF에서는 태그에 직접 명시된 name 으로 초기 frames 구성이 되고 그 후에는 javascript 로 iframe element의 name 을 조작해도 조작된 name 으로는 접근이 안됩니다.

element 의 속성인 name 을 조작해도 frames 구성에는 영향을 못미친다고 해야 하나요.


굳이 하려면 element가 아니라 window의 name을 조작하면 되긴 됩니다.

document.getElementById("ifr_id").name (x)
window.ifr_name.name (o)


결론 : name 은 태그에 직접 지정하거나, iframe_element.contentWindow 로 접근하라
msk2417

Re: parent접근성 질문입니다.

Post by msk2417 »

hyeonseok wrote:일반적으로는 문제가 없어야 하는데요. 문제가 발생하는 코드의 URL을 알려주시면 분석이 더 쉬울 것 같습니다.
url은 현재 ip이기때문에 노출이 좀 꺼려지네요....

간단하게 소스를 적겠습니다

index.html
<body>
<iframe name="leftframe" src="leftmenu.html"></iframe>
<iframe name="rightframe" src="rightmenu.html"></iframe>
</body>

leftmenu.html
<div onclick="test()">test</div>
<script type="text/javascript">
function test(){
parent.rightframe.location.href="main.html"
}
</script>

이런 식으로 leftmenu.html에서 값을 받아서 rightfram 을
이동시키려하는것입니다.
hyeonseok
해커
해커
Posts: 691
Joined: 2004 08 11 22:14 59
Contact:

Re: parent접근성 질문입니다.

Post by hyeonseok »

Code: Select all

<button onclick="test()">test</button>
<script type="text/javascript">
function test(){
    parent.document.getElementsByName('rightframe').item(0).src = "leftmenu.html"
}
</script>
이렇게 하시면 됩니다.
박민권
해커
해커
Posts: 724
Joined: 2005 01 31 22:33 55
Location: 대한민국
Contact:

Re: parent접근성 질문입니다.

Post by 박민권 »

아래와 같이 접근하셔도 됩니다.

Code: Select all

parent.frames['rightframe'].src = "leftmenu.html"
참고자료
https://developer.mozilla.org/en/DOM/window.frames

프로그래밍적으로 엄밀히 따지자면 window, parent, opener 등은 window 객체이고 iframe은 element라 window객체에서와 같이 .location 같은 프로퍼티가 동작하지 않는 것이 맞습니다.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest