HTML/iframe2012. 2. 24. 00:06

----------------------------------

iframe 에서는 get 이나 post 를 사용하실수 없습니다.

다른페이지에서 iframe 으로 값을 넘길수는 있습니다..

-------------------------------------------
get일때

<iframe name='test1' src='/test.htm?a=1&b=2'></iframe>

post일때

<form name='formss' method='post' target='test1'>

<input type='submit' value='button'>

<input type='hidden' name='a' value='1'>

<input type='hidden' name='b' value='2'>

<iframe name='test1' src='/test.htm?a=1&b=2'></iframe>

</form>

 이러면 될꺼 같은데요.


'HTML > iframe' 카테고리의 다른 글

iframe:아이프레임 내용에 맞게 사이즈 조절하기  (0) 2012.01.15
iFrame-x란  (0) 2012.01.10
iframe 사용법  (0) 2012.01.10
iframe 안으로 링크걸기 방법  (0) 2011.12.22
Posted by wrnly
HTML/iframe2012. 1. 15. 18:32

중복확인 해봤는데 엔지오에 있는 스크립트들은 보통

iframe 안에 들어갈 a.html 과 같은곳에 그스크립트를 넣어야 하더라구요

이방법으론 iframe에서 어떤페이지를 로드하던간에 그 속에 들어갈 페이지 안에는

반드시 사이즈를 조절할 스크립트가 들어가야합니다.

그래서 만든건데 이건 iframe 이 정의된 페이지에 한번만 넣어주시면 됩니다.

그럼 그속에 어떤페이지라도..단,! 자신의 계정에 있는 페이지 일때만 가능합니다. 이건 다른 스크립트랑 똑같네요

다른 계정의 페이지면 엑세스가 거부 됩니다.

/* 설명수정
다른계정이라 함은 자신의 사이트 외에 다른 사이트의 내용을
iframe으로 가져올때 자바스크립트로 접근이 안됩니다.
그래서 자신의 계정을 불러와야 하구요..
*/

암튼 예제,소스 나갑니다.

일반예제 ) http://maxpond.netcci.net/etc/iframetest.html
하부프레임예제 ) http://maxpond.netcci.net/etc/iframetest.html?inner=1

[JavaScript] : <head>~</head> 사이에 넣어줍니다.
===========================================================
<script language='JavaScript' type='text/javascript'>
<!--
function resizeFrame(iframeObj){
/* 아이프레임에서 읽어들인 페이지의 body */
var innerBody = iframeObj.contentWindow.document.body;

/* 높이 다시설정 */
var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
iframeObj.style.height = innerHeight;

/*---------- 넓이도 함께 자동조정되야 한다면 주석을 풀어주세요~--------------------------------
// 넓이 다시설정
var innerWidth = innerBody.scrollWidth + (innerBody.offsetWidth - innerBody.clientWidth);
iframeObj.style.width = innerWidth;    
---------------------------------------------------------------------------------------------------*/

this.scrollTo(1,1); //[락위듀]아렌티 님의 지적
}
//-->
</script>
===========================================================

[iframe]
===========================================================
아이프레이 태그 안에 다음 프로퍼티를 넣어줍니다.
onload="resizeFrame(this)"

ex) <iframe src="#" onload="resizeFrame(this)" scrolling="no"></iframe>
===========================================================


이러면 됩니다.

[2004-12-30 수정 스크립트]
----------------------------------------------------------------------------------------------------------------
윤상권님의 지적으로 수정하게 된 스크립트 입니다.
게시판에서 글쓰기 모드일때 textarea 의 사이즈를 늘려주는 기능을 이전 스크립트로는 처리하지 못했습니다.
그렇다고 해당게시판 스킨을 직접수정하기에도 번거러움이 있을것 같아서 아예 frame 속의 문서 전체에 이벤트를 걸어서
다시 사이즈 조정을 하도록 만들었습니다.

<script language='JavaScript' type='text/javascript'>
<!--
function resizeFrame(iframeObj){
        /* 아이프레임에서 읽어들인 페이지의 body */
        var innerBody = iframeObj.contentWindow.document.body;
        
        /*
        * 특정이벤트 발생시 다시 사이즈 조정!! ( 윤상권님의 지적 )
        * ex )
        * 항상 들어가야할 내용 입니다.
        * 혹시 아이프레임 속에 BODY 에 이미 이벤트가 정의 되어 있을경우를 위해
        * oldEvent = innerBody.ondbclick;
        * 위와 같은 식으로 이벤트를 백업받아놓으면 될듯 합니다.
        * 1. innerBody.ondbclick = function { resizeFrame(iframeObj, 1);oldEvent; };
        * 2. innerBody.onmousemove = function { resizeFrame(iframeObj, 1);oldEvent; };
        * 3. innerBody.onkeydown = function { resizeFrame(iframeObj, 1);oldEvent; };
        */
        oldEvent = innerBody.onclick;
        innerBody.onclick = function(){ resizeFrame(iframeObj, 1);oldEvent; };


        /*         높이 다시설정 */
        var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
        iframeObj.style.height = innerHeight;

/*---------- 넓이도 함께 자동조정되야 한다면 주석을 풀어주세요~--------------------------------
        // 넓이 다시설정
        var innerWidth = innerBody.scrollWidth + (innerBody.offsetWidth - innerBody.clientWidth);
        iframeObj.style.width = innerWidth;    
---------------------------------------------------------------------------------------------------*/
        if( !arguments[1] )        /* 특정 이벤트로 인한 호출시 스크롤을 그냥 둔다. */
                this.scrollTo(1,1);
}
//-->
</script>

사용방법은 똑같습니다



리풀

게시판내용이 길때 세로고침하거나 목록보기할때
살짝보였다가 없어지는 세로스크롤 말씀하시는건가요
그건 아이프레임소스코드에 <iframe src="#" onload="resizeFrame(this)" scrolling="no"></iframe> 이런씩으로 스크롤no주심 안 나타납니다
예제에도 세로고침하거나 다른글볼때 긴글에서는 살짝 아이프레임크기안에
스크롤나타났다 사라지던데...(참고하세요)
그리구 처음에는 몰랐는데 iframe src=에서 자기계정에서도 절대경로인 http사용하니 안되고
상대경로인../ 를 사용하니 정상적으로 되네요..
여기다가 아이프레임바탕에 투명소스 넣으주면 더욱좋겠죠
참고하세요 ...
아이프레임으로 불러들이는페이지나게시판 바탕투명하게하기

■ 먼저 아이프레임 소스가 있는 페이지 소스에 <allowTransparency="true"> 라는 내용을 넣어주세요.
<iframe src="게시판위치" width="200" height="150" border="0" frameborder="0" allowTransparency="true"></iframe>


■ 이번에는 아이프레임 안으로 들어올 파일이 {abc.html} 이라면 그 {abc.html} 안에
게시판이라면 게시판관리들어가서소스를 추가합니다.

<style="margin:0; background-color:transparent">

이내용은 이부분에 추가해주세요.
<body text="#000000" bgcolor="#FFFFFF" style="margin:0; background-color:transparent">

게시판은 제로보드 게시판 관리/기본설정변경에서/게시판상단에출력할내용부분에
<div align=center >
<body text="#000000" bgcolor="#FFFFFF" style="margin:0; background-color:transparent">
이런씩으로붙여넣기해주심됩니다..

리풀
부모프레임은 하부프레임이 들어있는페이지 로드하고,
하부프레임은 게시판을 로드하고

이런환경이라면
하부프레임의 게시물내용보기로 들어갈때
사이즈조정이 하부프레임만 되는문제로 부모프레임은 첫번째 로드됬던 사이즈 그대로 변하지 않는 문제가 생기죠
응용을 좀하셔야 합니다. 굉장히 좋은 지적인것 같아요..^^;;

일단부모프레임의

<iframe src="#" onload='resizeFrame(this)' width='700' scrolling="auto" frameborder="0" marginwidth="0" marginheight="0"></iframe>

다음과 같은 태그의 프로퍼티중 ID를넣어서 이름을 하나 지어주세요.

<iframe id="부모프레임" src="#" onload='resizeFrame(this)' width='700' scrolling="auto" frameborder="0" marginwidth="0" marginheight="0"></iframe>

그리고 자식프레임 태그에서는
<iframe src='게시판' onload="resizeFrame(this);parent.document.all.부모프레임.fireEvent('onload')" width='700' scrolling="auto" frameborder="0" marginwidth="0" marginheight="0"></iframe>

위와같이 parent.document.all.부모프레임.fireEvent('onload')
다음코드를 추가해 주시면 해결될것 같습니다

'HTML > iframe' 카테고리의 다른 글

Iframe 에서 값을 넘겨받는 방법  (0) 2012.02.24
iFrame-x란  (0) 2012.01.10
iframe 사용법  (0) 2012.01.10
iframe 안으로 링크걸기 방법  (0) 2011.12.22
Posted by wrnly
HTML/iframe2012. 1. 10. 18:03
iFrame-x이란 무엇인가?

오늘은 iFrame-x에 대한 내용으로 프레임에 대한 강좌를 마치고 Form에 대해서 알아보도록 하겠습니다. iframe-x은 제가 프로젝트를 하면서 사용해봤습니다. iframe-x에 대한 내용을 알려드릴까 말까 고민하다가 요즘 통계를 보니 우리나라에서는 internet explore를 사용하는 사람들이 70%를 넘는 것 같더군요. 그래서 해도 되겠다고 생각을 했습니다. 왜냐구요? 아래 내용을 읽어보시면 이해가 되죠^^*

1) iFrame-x은 iFrame-x은 한 html 문서 내에서 또 다른 html을 불러올 수 있는 기능을 갖고 있습니다.

<iframe-x width="n" height="n" frameborder="yes or no" scrolling="yes, no or auto" src="불러올 html 문서" marginwidth="n" marginheight="n" name="이름"></iframe-x>

  • iframe-x은 <iframe-x>로 시작해서 </iframe-x>로 끝납니다. 단, 다른 태그와 다른 점이 있다면 opening 태그와 closing 태그 사이에 내용을 넣어줄 필요가 없다는 것이죠^^*
  • width - iframe-x의 폭을 지정합니다. n은 픽셀 단위입니다.
  • height - iframe-x의 높이를 지정합니다.
  • frameborder - iframe-x의 경계선을 나타나게 할 것인지를 결정합니다. yes로 하면 프레임 경계가 나타나고 no로 하면 프레임 경계가 나타나지 않습니다.
  • scrolling - yes로 하면 스크롤 바가 항상 나타나고 no로 하면 내용이 잘리더라도 스크롤 바가 나타나지 않습니다. 물론 auto는 iframe-x의 크기보다 불러온 문서의 내용이 많으면 저절로 생기게 되겠죠.
  • src - 이곳에 iframe-x에서 불러올 문서의 위치와 문서의 이름을 지정합니다.
  • marginwidth - 좌우 여백을 지정합니다.
  • marginheight - 상하 여백을 지정합니다.
  • name - iframe-x의 이름을 지정합니다. name을 이용하면 iframe-x을 포함하고 있는 문서에서 하이퍼링크를 클릭하면 iframe-x에 내용이 나타나도록 target을 지정할 수 있습니다.
  • iframe-x은 internet explore 4.0 이상 버전에서는 text만 포함한 html 문서이건 상관없이 display가 잘 됩니다. 그러나 netscape에서는 image가 아닌 순수한 문장만 있는 html을 iframe-x을 사용하여 불러왔을 경우 화면에 display가 되질 않습니다.

위에서 제가 프로젝트를 할 때 사용했다고 했는데, 그 예제 소스는 다음과 같습니다.

<iframe-x style="width:600; height:170;" name="htmledit" frameborder="no" src="htmledit.htm" scrolling="no"></iframe-x>

  • style - dHtml을 공부하시면 앞부분에서 볼 수 있는 내용입니다. width와 height를 style을 이용해서 지정했다는 것 외에는 별다른 것이 없습니다.

2) iframe-x 예제

iframe-x1.htm

<html>
<head>
<title>iFrame-x 예제</title>
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">

윤 상의 홈페이지에 오신 것을 환영합니다. 아래의 내용은 공지사항을 iframe-x으로 불러온 것입니다.

<p>

<div align="center">

<iframe-x width="600" "height="170" name="iframe-x2" frameborder="no" src="iframe-x2.htm" scrolling="auto"></iframe-x>

</div>

</body>

</html>

 

iframe-x2.htm

<html>
<head>
<title>iFrame-x 예제</title>
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">

<b>공지사항 </b>

<ul>
  <li>윤 상의 홈페이지에 오신 것을 환영합니다.
  <li>이 내용은 explore 4.0 이상 버전에서만 보이고 넷스케이프에서는 보이지 않습니다.
  <li>하지만 이미지를 포함한 html 문서를 불러오는 것은 넷스케이프에서도 가능합니다.
  <li>http://www.clipartworld.com 에 가시면 홈페이지 제작에 필요한 클립아트를 구할 수 있습니다.
</ul>

</body>

</html>

어떻게 사용하는지 이해가 가죠? 이제 프레임에 대한 강좌를 여기서 마치도록 하고 Form에 대해 공부해 보도록 하겠습니다!


'HTML > iframe' 카테고리의 다른 글

Iframe 에서 값을 넘겨받는 방법  (0) 2012.02.24
iframe:아이프레임 내용에 맞게 사이즈 조절하기  (0) 2012.01.15
iframe 사용법  (0) 2012.01.10
iframe 안으로 링크걸기 방법  (0) 2011.12.22
Posted by wrnly
HTML/iframe2012. 1. 10. 18:00


사용법은 간단합니다. 위치하고 싶은 부분에 다음과 같이 삽입합니다.

=================================//

<iframe src="아이프레임에 들어갈 페이지" scrolling=no name=ce width=329 height=180 frameborder=0 style="border-width:0px; border-color:white; border-style:solid;"></iframe>

================================//

width와 height는 화면에 보여질 iframe의 가로/세로의 길이입니다. 그리고 src는
보여질 사이트 또는 페이지의 주소가 됩니다.

scrolling=no  스크롤 즉 옆에 바가 생기질 않게 no 로 잡아줬군요.
yes 로 해주시면 스크롤바가 생깁니다.
auto 일 경우는 아이프레임 안에 내용이 길어지면 자동으로 생기게 됩니다.

name=ce 아이프레임의 네임을 ce 로 적었군요 어떤 것이라고 해도 상관없습니다.
링크 거실때 타겟을 아이프레임 네임으로 적어주시기만 하면 됩니다.

frameborder=0 아이프레임의 테두리 두께를 0 으로 잡아줬군요. 테두리가 안보이죠.
1 로 잡아주시면 테두리가 나타납니다

단, iframe는 익스플러어 전용입니다.

* 아이프레임 으로 페이지를 보여주려고 하실땐
  링크를 target="아이프레임 Name" 이렇게 타겟을 지정해주시면 됩니다.
위를 예를 들면 name=ce 로 잡아줬기에 링크를 target="ce" 로 잡아주시면
즉 <a href="yesman.htm" target="ce"> 이렇게 해주시면 아이프레임 안에 yesman.htm 파일이 나타나는 거죠^^
아이프레임에 링크된 페이지가 나타나는 것이죠..^^

div 및 iframe 사용법

|

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
</head>

<body>

<div style="include-source:url('http://www.naver.com')">
 <iframe src="http://www.naver.com" width="822" height="150"></iframe>
</div>

</body>
</html>

--------------------------------------------------------------------------------

<head>
<table width="100%" height="171">
   <tr>
      <td>
      </td>
   </tr>
</table>
</head>
<body>
<div id="pdacafe" style="position:absolute;left:180px;top:0px;z-index:1">
<img src="main.jpg">
</div>

<div style="include-source:url("http://signes.com.ne.kr/memo2">
 <iframe src="http://signes.com.ne.kr/memo2" width="600" height="450"></iframe>
</div>

<P ALIGN="CENTER">
<iframe
frameborder="0"
height="450"
leftmargin="0"  
marginheight="3"
marginwidth="3"
scrolling="no"  
src="http://signes.com.ne.kr/memo2" topmargin="0"   width="600">
</iframe>
</P>
</body>

---------------------------------------------------------------------------

배경음악(<EMBED>) 관련 태그

<EMBED> 태그 설명 및 기본형식


홈페이지가 뜨자 마자 화면과 함께 배경음악이 나오도록 하는 태그입니다.
그러나 큰 용량의 음악화일은 자칫 방문자로 하여금 지루함을 주므로 주의할 필요가 있습니다.

- <EMBED SRC="음악화일명(wav, midi)>


<EMBED> 태그 옵션
- <EMBED SRC="음악화일명" autostart=true> : 자동으로 음악이 나오게 하는 옵션입니다.
- <EMBED SRC="음악화일명" border=2 width=145 height=60 autostart=true> : 화면에서 볼륨이나 멈춤을 제어하는 옵션입니다.


그림을 html에 삽입하고 그 위에 글을 쓰거나 다른 작은 그림을 겹쳐넣을때
사용하면 좋습니다. 바로 요런걸 레이어(layer)라고들 하죠~!
포토샵이나 페인트샵등에서 사용하는 개념하고 비슷하다고 생각하시면 됩니다.
// 원하는 부분을 아래 태그를 사용해서 써보세요.

<div id="layer1" style="position:absolute; left:20px; top:20px; width:100px; height:100px; z-index:1; border-width:1px; border-style:none;"><img src="그림.gif"></div>

<div id="layer2" style="position:absolute; left:20px; top:20px; width:100px; height:100px; z-index:1; border-width:1px; border-style:none;">여기에 글을 씁니다</div>


// 이건.. 우선 <div> </div>로 레이어를 두개 맹글어서..

position:absolute로 해서 그 레이어들 위치 고정시켜줍니다.

left : 왼쪽으로부터의 여백, top: 위쪽으로부터의 여백

width : 레이어의 폭, height : 레이어의 높이

즉 이 레이어라는 건 투명한 셀룰러판같은 거랍니다.
눈에는 안보이지만 그 레이어 위에 원하는걸 넣어주게 되면..
그 레이어가 있는 위치에 있게 되는거죠.

그리고 그 레이어 두개를 겹쳐놓으면 차곡차곡 쌓여서 겹쳐보이는거죠.
그림을 넣은 layer1이 밑에 깔리고, 그 위에 글을 쓴 layer2가 겹쳐지면..
보일때는 그림위에 글을 쓴것과 같은 효과가 나타난답니다~!

프레임이란 화면을 한 개 이상으로 쪼갤 때 사용하는 명령어에요.

프레임 명령으로 화면을 둘로 쪼개면,
쪼개진 두 개의 화면에는 각자 다른 Html 문서가 쓰이는 거죠.
즉 프레임으로 쪼개진 만큼의 Html 파일이 필요합니다.

프레임 구조를 짜는 태그는 <Frame> </Frame>에요.
프레임 태그는 html 문서에서 <Head> </Head> 사이에 있어야 하구요.

우선 예를 들어 설명할까요.

<Frameset Row="50,*" , border="1">
<Frame Src="test1.html" name = "test1" scrolling = "no" noresize>
<Frame Src="test2.html" name = "test2" scrolling = "yes">
</Frameset>

이제 각 태그를 설명해 볼께요.

1> Name : 해당 프레임의 이름이에요. 아무 이름이나 써 주세요.

2> Scrolling : 화면에 스크롤 막대를 보여 줄 것인지를 설정합니다.
Auto라고 하면 화면의 분량에 따라 자동으로 생기기도 하고 생기지 않기도 하죠.

3> Row : 행을 뜻해요. 위와 같은 경우 화면은 가로로 2개로 나뉘는데
위에서부터 50 픽셀을 하나의 프레임으로 하고
나머지를 또 다른 프레임으로 만들죠.

세로로 프레임을 나누고 싶다면 Row 대신 Cols를 쓰면 되요.
그냥 50이라고 하면 50 픽셀을 말하는 것이고,
50%라고 하면 웹브라우저 창의 절반을 의미해요.

4> Border는 프레임의 두께를 설정해요.
보이지 않게 하려면 0으로 해야겠지요.

5> Noresize라고 써주면 사용자가 임의로 프레임 크기를 변경할 수가 없어요.


하이홈 홈빌더에서는 프레임 기능을 지원하지 않아요.
하지만 익스플로러 5.0에서 지원하는 Iframe을 사용하는 것은 가능합니다.

<Meta HTTP-Equiv="Refresh" Content="n;URL=">
 일정시간(초)동안 현재화면에서 다른 URL로 이동
 
<Meta HTTP-Equiv="Refresh" Content="3;http://members.tripod.co.kr/A_Plus"> ~  3초후  A_Plus 사이트로 이동하라. 기존의 홈페이지를 다른 사이트로 옮겼을 때 많이 쓰이지요.
 


<DIV Align="Center|Left|Right|Justify"> </DIV>
 특정 화면 분할(Division)로  중앙, 좌, 우, 로 정렬시킵니다.
 
<[안내]태그제한으로등록되지않습니다-BGSound SRC="URL" Loop="n|Infinite">
 소리파일 위치 및 파일명, 반복회수
 

  이렇게 이름을 주었습니다. 그리고 B문서를 작성할 때 링크에 다음 내용을 줍니다. <a href="~~" target="content"> 자 보세요 링크에 타겟은 content 라는 프레임이다~라고 되어있네요 그러므로 이 링크를 누르면 main으로 지정되어있는 B에 나타나는 것이 아니라 content로 지정되어 있는 C에 나타나는 것이죠. 여기의 프레임 네임은 작성자 마음대로 줄 수 있습니다. 참고로 target를 사용할 때 몇가지 예약어(정해져있는 것)이 있습니다. 우리가 링크를 공부할 때  target="_blank"라고 하면 새창이 떳죠? 이것도 하나의 예약어입니다. 자..그럼 예약어를 알아보죠...

_top
 프레임을 해제하고 링크될 문서를 창 전체로 불러온다.
 
_parent
 링크될 문서를 링크 전 원래의 프레임인 부모 프레임에 나타낸다. 부모 프레임이 없는 경우는 _self와 같다
 
_self
 링크될 문서를 원래 위치와 같은 프레임으로 불러온다.
 
_blank
 이름이 없는 새로운 창을 열고 링크될 문서를 그 창으로 불러온다.
 
 
 <style type="text/css">
 <!--
   a.nls0:link { text-decoration: none; color:#000000; font-size:10pt; }
   a.nls0:visited { text-decoration: none; color:#000000; font-size:10pt; }
   a.nls0:hover { text-decoration: underline; color:#000000; font-size:10pt; }
 -->
 </style>

 class=nls0----->한메일 링크 모습을 보여줍니다~
 


'HTML > iframe' 카테고리의 다른 글

Iframe 에서 값을 넘겨받는 방법  (0) 2012.02.24
iframe:아이프레임 내용에 맞게 사이즈 조절하기  (0) 2012.01.15
iFrame-x란  (0) 2012.01.10
iframe 안으로 링크걸기 방법  (0) 2011.12.22
Posted by wrnly
HTML/iframe2011. 12. 22. 09:19

head사이에----------------------------------
 
<script language="Javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
 
 

body 밑에 --------------------
<form name="form1">
<select name="menu1" onChange="MM_jumpMenu('parent.frames[\'hot\']',this,0)">
<option selected>선택하세요</option>
<option value="http://www.aircon1004.com">에어컨천사닷컴</option>
</select>
</form>
<iframe src="test.htm" width=600 height=450 name=hot></iframe>
 

 

'HTML > iframe' 카테고리의 다른 글

Iframe 에서 값을 넘겨받는 방법  (0) 2012.02.24
iframe:아이프레임 내용에 맞게 사이즈 조절하기  (0) 2012.01.15
iFrame-x란  (0) 2012.01.10
iframe 사용법  (0) 2012.01.10
Posted by wrnly