(재질문) 이미지 resize-popup-a href java script ... 정보
(재질문) 이미지 resize-popup-a href java script ...첨부파일
본문
앞의 질문을 하면서, 제가 의도한 바를 정확하게 표현하지 못한거 같아서 다시 정리했습니다.
js/board.js의 function resizeBoardImage(imageWidth, borderColor) 함수에서는
target_resize_image[] 태그가 있는 요소를 찾아서, 이미지의 size를 조정해 줍니다.
그런데, 게시글의 이미지들중에는 a href 요소에 의해서 둘러쌓여져 있는게 있습니다.
<img src= ... onclick=...> 이거는 문제가 아니지만,
<a href ...><img src=... onclick=...></a>와 같은 경우에는
이미지를 클릭하면 link도 나오고 이미지 팝업도 나오기 때문에
이미지의 popup이 나오지 않게 onclick의 속성을 없애줘야 합니다.
이것을 view.php에서 preg_replace로 하기는 좀 그렇고
board.js의 java script를 수정하는 것이 바람직한 것 같아서 앞의 질문을 했었는데,
질문을 하면서 머리가 정리되지 않아서 헷갈렸던거 같습니다.
방법은 2가지 인거 같습니다.
(1)
board.js를 수정해서 이미지를 클릭하면 a href 요소에 의해서 주소연결이 있는 경우
(부모 nodes를 검사해야 하나요?) img의 onclick을 없애준다
(2)
java script 함수를 추가해서, a href 요소를 검사해서 밑에 img 태그가 있으면
onclick의 속성을 없애버린다.
앞의 질문
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=146788
(테스트용 예제)
첨부파일 내용을 게시글의 wr_content 필드에 넣으면 됩니다.
js/board.js의 function resizeBoardImage(imageWidth, borderColor) 함수에서는
target_resize_image[] 태그가 있는 요소를 찾아서, 이미지의 size를 조정해 줍니다.
그런데, 게시글의 이미지들중에는 a href 요소에 의해서 둘러쌓여져 있는게 있습니다.
<img src= ... onclick=...> 이거는 문제가 아니지만,
<a href ...><img src=... onclick=...></a>와 같은 경우에는
이미지를 클릭하면 link도 나오고 이미지 팝업도 나오기 때문에
이미지의 popup이 나오지 않게 onclick의 속성을 없애줘야 합니다.
이것을 view.php에서 preg_replace로 하기는 좀 그렇고
board.js의 java script를 수정하는 것이 바람직한 것 같아서 앞의 질문을 했었는데,
질문을 하면서 머리가 정리되지 않아서 헷갈렸던거 같습니다.
방법은 2가지 인거 같습니다.
(1)
board.js를 수정해서 이미지를 클릭하면 a href 요소에 의해서 주소연결이 있는 경우
(부모 nodes를 검사해야 하나요?) img의 onclick을 없애준다
(2)
java script 함수를 추가해서, a href 요소를 검사해서 밑에 img 태그가 있으면
onclick의 속성을 없애버린다.
앞의 질문
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=146788
(테스트용 예제)
첨부파일 내용을 게시글의 wr_content 필드에 넣으면 됩니다.
댓글 전체
<span id='writeContents'>
<a href=""><img src="" /></a>
</span>
<script type="text/javascript">
function OnclickCheck(Target)
{
var A_tags = Target.getElementsByTagName("A");
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
IMG_tags = A_tags[i].getElementsByTagName("IMG")[0];
if (IMG_tags.getAttribute("ONCLICK") != null)
{
IMG_tags.onclick = null;
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"));
</script>
<a href=""><img src="" /></a>
</span>
<script type="text/javascript">
function OnclickCheck(Target)
{
var A_tags = Target.getElementsByTagName("A");
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
IMG_tags = A_tags[i].getElementsByTagName("IMG")[0];
if (IMG_tags.getAttribute("ONCLICK") != null)
{
IMG_tags.onclick = null;
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"));
</script>
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Timestamp: Sun, 20 Dec 2009 13:59:19 UTC
Message: 'IMG_tags' is undefined
Line: 704
Char: 5
Code: 0
첨부 데이터로 함 테스트 해봐주세요. 위와 같은 오류가 나와요.
오류 때문에 popup또 뜨구, link도 _blank가 아니어요.
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Timestamp: Sun, 20 Dec 2009 13:59:19 UTC
Message: 'IMG_tags' is undefined
Line: 704
Char: 5
Code: 0
첨부 데이터로 함 테스트 해봐주세요. 위와 같은 오류가 나와요.
오류 때문에 popup또 뜨구, link도 _blank가 아니어요.
<span id='writeContents'>
<a href=""><img src="" /></a>
</span>
<script type="text/javascript">
function OnclickCheck(Target)
{
var A_tags = Target.getElementsByTagName("A");
var IMG_tags;
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
IMG_tags = A_tags[i].getElementsByTagName("IMG")[0];
if (IMG_tags.getAttribute("ONCLICK") != null)
{
IMG_tags.onclick = null;
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"));
</script>
이건요>?
<a href=""><img src="" /></a>
</span>
<script type="text/javascript">
function OnclickCheck(Target)
{
var A_tags = Target.getElementsByTagName("A");
var IMG_tags;
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
IMG_tags = A_tags[i].getElementsByTagName("IMG")[0];
if (IMG_tags.getAttribute("ONCLICK") != null)
{
IMG_tags.onclick = null;
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"));
</script>
이건요>?
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Timestamp: Sun, 20 Dec 2009 14:18:36 UTC
Message: 'undefined' is null or not an object
Line: 705
Char: 5
Code: 0
URI: http://couponmail.co.kr/bbs/board.php?bo_table=couponmail&wr_id=29
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Timestamp: Sun, 20 Dec 2009 14:18:36 UTC
Message: 'undefined' is null or not an object
Line: 705
Char: 5
Code: 0
URI: http://couponmail.co.kr/bbs/board.php?bo_table=couponmail&wr_id=29

이거를 써보세요.
function a_img_onclick() {
var getA = document.getElementsByTagName("a");
for (var i=0; i<getA.length; i++) {
var getImg = getA[i].getElementsByTagName("img");
for (var k=0; k<getImg.length; k++) {
if(getImg[k].getAttribute("onclick")) {
getImg[k].setAttribute("onclick", "");
getImg[k].parentNode.setAttribute("target", "_blank");
}
}
}
}
function a_img_onclick() {
var getA = document.getElementsByTagName("a");
for (var i=0; i<getA.length; i++) {
var getImg = getA[i].getElementsByTagName("img");
for (var k=0; k<getImg.length; k++) {
if(getImg[k].getAttribute("onclick")) {
getImg[k].setAttribute("onclick", "");
getImg[k].parentNode.setAttribute("target", "_blank");
}
}
}
}
이미지 팝업도 뜨구 link도 그대로에요. ㅠ..ㅠ...
<span id='writeContents'>
<a href=""><img src="" /></a>
</span>
<script type="text/javascript">
function OnclickCheck(Target)
{
var A_tags = Target.getElementsByTagName("A");
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
{
if (A_tags[i].getElementsByTagName("IMG")[0].getAttribute("ONCLICK") != null)
{
A_tags[i].getElementsByTagName("IMG")[0].onclick = null;
}
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"));
</script>
이건요? 어디좀 다녀 오느라 아까껀 금방 만드느 냐구...
사용법은 아시리라 믿구... 지금거 않되면 만세욤...
<a href=""><img src="" /></a>
</span>
<script type="text/javascript">
function OnclickCheck(Target)
{
var A_tags = Target.getElementsByTagName("A");
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
{
if (A_tags[i].getElementsByTagName("IMG")[0].getAttribute("ONCLICK") != null)
{
A_tags[i].getElementsByTagName("IMG")[0].onclick = null;
}
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"));
</script>
이건요? 어디좀 다녀 오느라 아까껀 금방 만드느 냐구...
사용법은 아시리라 믿구... 지금거 않되면 만세욤...
잘 됩니다. 감사해요. java는 역시 어려워요. 봐도 뭔지 모르겠다는... ㅠ..ㅠ...
<script type="text/javascript">
function OnclickCheck(Contents, Target)
{
var A_tags = Contents.getElementsByTagName("A");
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if (Target)
A_tags[i].target = Target;
else
A_tags[i].target = '_blank';
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
{
if (A_tags[i].getElementsByTagName("IMG")[0].getAttribute("ONCLICK") != null)
{
A_tags[i].getElementsByTagName("IMG")[0].onclick = null;
}
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"), "_blank");
</script>
<script type="text/javascript">
function OnclickCheck(Contents, Target)
{
var A_tags = Contents.getElementsByTagName("A");
for (var i=0; i<A_tags.length; i++)
{
if (!A_tags[i].getAttribute("href"))
continue;
if (A_tags[i].getAttribute("HREF").indexOf("javascript") >= 0)
continue;
if (Target)
A_tags[i].target = Target;
else
A_tags[i].target = '_blank';
if(typeof(A_tags[i].getElementsByTagName("IMG")[0]) != "undefined")
{
if (A_tags[i].getElementsByTagName("IMG")[0].getAttribute("ONCLICK") != null)
{
A_tags[i].getElementsByTagName("IMG")[0].onclick = null;
}
}
}
return;
}
OnclickCheck(document.getElementById("writeContents"), "_blank");
</script>