난 단지 CSS로 생각할 수있는 하나 개의 교묘 한 방법이있다 :
를 사용하여 배경 색상과 동일한 색상의 텍스트가! 그런 다음 사용자가 강조 표시하면 텍스트가 표시됩니다. 명백하게하기 위해 강조해야 할 부분에 대해 설명하거나주의를 기울여야합니다.
또 다른 방법 :
물건 읽기 전용 텍스트 입력에 ROT13, 그것을 디코딩 Ajax 호출과 함께 select
이벤트를 연결합니다. 입력에 맞는 스포일러 텍스트의 더 작은 비트에만 작동합니다. textarea로 시도 할 수도 있지만 readonly 속성을 허용하지 않습니다 (어쩌면 상관 없습니다).
이렇게하는 방법에는 여러 가지가 있지만 (예 : div를 숨기거나 표시) 예를 들어 텍스트를 선택하여 스포일러를 실행하는 것과 가장 비슷하거나 가장 간단합니다.
EDIT : 배경색 솔루션을 사용하면 텍스트를 인코딩하지 않고 강조 표시 될 때까지 "보이지 않게"만들 수 있습니다. 실제로는 꽤 싸구려 솔루션이며, 더 좋은 다른 많은 것들이 있습니다. 그러나 좋은 부분은 그것이 css라는 것입니다. 솔직히 나는 완벽한 하이라이트를 강요하는 것은 사용자에게 고통이 될 것이라고 생각한다. 한 곳에서 rot13 값을 저장하고, 다른 값 (숨겨진 경간 일 수도있다)에 실제 값을 저장하고, js를 사용하여 클릭이나 다른 것으로 바꾼다. 별도로 실제로 디코딩을 처리 할 필요가 없습니다. CSS만으로도 똑똑한 :hover
또는 :focus
셀렉터로이 작업을 수행 할 수 있습니다.
EDIT2는 : 당신이 혼자 자바 스크립트와 ROT13 디코딩을 할 수있는 나에게 발생하지 않았다 어떤 이유로, 나는 PHP는 세계에서오고 그래서 지금은 아주 어리석은 생각합니다. 죄송합니다. 귀하의 질문에 더 잘 대답하지 못했지만,이 중 일부는 유용합니다. GL!
나는 색상/배경 아이디어를 좋아합니다. 하지만 어떻게 인코딩 된 원본 텍스트를 표시합니까? - 요즘 유즈넷 usenet 경험을 오늘날 사용성 표준과 결합한 경험을하려고합니다. –
@Joe Hopfgartner : 저는 당신이하는 말을 듣지 만, 디코딩 된 것을 숨길 수있을 때 동적으로 해독 할 실제 필요가 있다고 생각하지 않습니다. 당신의 html에있는 가치. 나는 나의 대답을 업데이트했다. –
마우스를 올리면 너무 좋아 ..http://jsfiddle.net/WZWJn/ –