iframe에서 parent 의 iframe을 컨트럴 하기 위해
parent.아이프레임이름 과 같은 형식으로 접근을 하였습니다.
사파리,크롬, ie 같은경우 정상적으로 접근이 가능하지만
파포에서만 접근이 되지않아서 에러가 나는데요
이부분은 어떻게 처리해야 하는건가요?
msk2417@nate.com 으로 메일 주셔도 감사합니다.
parent접근성 질문입니다.
-
- 해커
- Posts: 691
- Joined: 2004 08 11 22:14 59
- Contact:
Re: parent접근성 질문입니다.
일반적으로는 문제가 없어야 하는데요. 문제가 발생하는 코드의 URL을 알려주시면 분석이 더 쉬울 것 같습니다.
-
- 서포터즈
- Posts: 80
- Joined: 2008 06 13 16:16 14
- Contact:
Re: parent접근성 질문입니다.
아마 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 로 접근하라
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 로 접근하라
Re: parent접근성 질문입니다.
url은 현재 ip이기때문에 노출이 좀 꺼려지네요....hyeonseok wrote:일반적으로는 문제가 없어야 하는데요. 문제가 발생하는 코드의 URL을 알려주시면 분석이 더 쉬울 것 같습니다.
간단하게 소스를 적겠습니다
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 을
이동시키려하는것입니다.
-
- 해커
- Posts: 691
- Joined: 2004 08 11 22:14 59
- Contact:
Re: parent접근성 질문입니다.
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접근성 질문입니다.
아래와 같이 접근하셔도 됩니다.
참고자료
https://developer.mozilla.org/en/DOM/window.frames
프로그래밍적으로 엄밀히 따지자면 window, parent, opener 등은 window 객체이고 iframe은 element라 window객체에서와 같이 .location 같은 프로퍼티가 동작하지 않는 것이 맞습니다.
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 같은 프로퍼티가 동작하지 않는 것이 맞습니다.
Who is online
Users browsing this forum: No registered users and 1 guest