사이트 내 전체검색
innerHTML 에서 script 태그 넣기
로빈아빠
https://cmd.kr/javascript/755 URL이 복사되었습니다.

본문

innerHTML 에서 script 태그 넣기

innerHTML 아래와 같이 script 태그를 넣으면 에러가 생기는 것을 볼수 있습니다.
Act.innerHTML = "<script type='text/javascript'>document.write('yesyo.com')</script>";


innerHTML의 문자열에 script 가 들어 가서 문제가 생깁니다.
이것을 아래와 같이 수정하면 문제가 해결됩니다.
Act.innerHTML = "<scr" + "ipt type='text/javascript'>document.write('yesyo.com')</scr" + "ipt>";


php 에서 쓴다면 아래와 같이 쓸수 있습니다. 응용하세요.
function MalertDiv($msg,$w='',$url='',$sb='',$charset='euc-kr')	{	
		$_msg = "<table width='100%'><tr><td align='center' height='100'>".$msg."</td></tr><tr><td height=1 bgcolor=#94A9C8></td><tr><tr><td align='center' height=35><a href=\"javascript:screenBlind_off('".urlencode($url)."');\"><img src='/img/btn_closed.gif' align=absmiddle></a></td></tr></table>";
		echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=$charset\">
		<script language='javascript'>
		var hiddenAct = parent.document.getElementById('hiddenAct');
		var msg = \"".str_innerHTML($_msg)."\";
		hiddenAct.innerHTML = msg;
		parent.screenBlind_on(".$w.");
		</script>";
    exit;
}
function str_innerHTML($str) {
		$str = str_replace('"', '\"', preg_replace("/\r\n|\r|\n/", "", $str));
		$str = str_replace('<script', '<scr" + "ipt', $str);
		$str = str_replace('</script>', '</scr" + "ipt>', $str);
		return $str;
}

댓글목록

등록된 댓글이 없습니다.

831 (4/17P)

Search

Copyright © Cmd 명령어 13.58.161.115