- Safari 버전: 2.0.3
- 플랫폼: OS X 10.4
처음에는 코드를 잘못짰나 싶어서 다시 보았는데 Safari의 버그더군요.
Element.show(dialog);와 같은 코드가 원래 사용한 코드였습니다. 실제로는 좀 더 많은 코드가 사용되기는 합니다만.. 다이얼로그가 화면에 출력되기 전에는 form.value의 값이 동작하지는 않더군요.
form.dialog_form.textarea.value = "..."
그러나, 다이얼로그가 뜬 다음에 주소창에 javascript:form.dialog_form.textarea.value = "..."를 설정하는 경우는 정상적으로 값이 설정이 되었습니다. 구글에서 검색해보니 관련한 버그에 대한 내용이 좀 나오더군요.
Element.show(dialog);저의 경우 이를 해결하기 위해서 innerHTML을 사용해봤습니다만, 동작을 하지 않더군요. 텍스트를 저장하는 것은 가능하였습니다만, html을 입력하는 경우에는 동작을 하지 않더군요. (<span>~</span>은 잘리고 입니다만 나오더군요.)
form.dialog_form.textarea.innerHTML = "<span style="color:red;">메모</span>입니다."
Element.show(dialog);해결책으로 삼은 것은 textarea의 parentNode의 html을 바꿔버리는 것으로 해결은 했습니다만...
form.dialog_form.parentNode.innerHTML = "<textarea><span style="color:red;">메모</span>입니다.</textarea>"
이런 버그가 있더군요 =.= ;;
관련 자료: Brian Hartsock's Blog - Safari Textarea bug
댓글 없음:
댓글 쓰기