Wordpress에서 이미지 업로드시 오류Oct 08, 2006

Wordpress 의 inline upload 기능을 사용하여 이미지를 업로드하고 메뉴를 이용해 본문에 이미지를 삽입할 경우, 원본 이미지를 사용할 경우에도 width/height 값이 썸네일 이미지와 같은 크기로 지정되어 버린다. 원래 이런건지는 모르겠지만 일단 내 생각에는 "이건아니자나~" 길래 열어봤더니, wp-admin/inline-uploading.php 의 433번 라인이 문제였다.

JAVASCRIPT:
  1. h = h.replace(new RegExp(' (class|title|width|height|id|onclick|onmousedown)=([^\'"][^ ]*)( |/|>)', 'g'), ' $1="$2"$3'); // Enclose attribs in quotes
  2. h = h.replace(new RegExp(' (width|height)=".*?"', 'g'), ''); // Drop size constraints

이렇게 되어 있으니 width=128 과 같이 따옴표가 없을 때는 동작하지 않는다.(사실은 432번 라인에서 quote 를 해줘야 하는데..IE에서는 유독 width와 height속성만 앙탈이다)

JAVASCRIPT:
  1. h = h.replace(new RegExp(' (class|alt|title|width|height|id|onclick|onmousedown)=([^\'"][^ ]*)( |/|>)', 'g'), ' $1="$2"$3'); // Enclose attribs in quotes
  2. h = h.replace(new RegExp(' (width|height)="{0,1}[0-9]{1,}"{0,1}', 'g'), ''); // Drop size constraints

고쳐주면 땡. 덤으로 432번 라인은 alt 속성을 quote 해주지 않길래 정규식에 추가해줬음.

추가.
좀더 확인해보니, 예전의 정규식으로도 Safari 에서는 잘 돌아가지만 IE에서는 문제가 생긴다. Wordpress 개발 사이트에서도 이에 대한 패치가 있긴 하던데, 적용해 봐도 마찬가지. 설마 각 브라우저의 Javascript 엔진별로 정규표현식 해석까지 조금씩 다른 건가?

Leave a Message

2 Messages

아~ 그렇군요. 저도 항상 문제였는데 고맙습니다.

이거 말고도 Linked to Image 일 경우 앵커 태그가 제대로 종료가 안된다던지 하는 문제가 좀 더 있더군요. 본문에 추가한 내용처럼 아무래도 IE에서만 문제가 발생하는 것 같습니다. WP2.1 을 기다려 보는 수밖에요 :D

RSS feed for comments on this post.
TrackBack URI : http://encyphered.net/blog/47/trackback/

Leave a Message