2011-04-18 1 views
1

필자는 실수로 불의하게 읽는 사용자를 보호하기 위해 텍스트를 모호하게 만들고 싶은 웹 사이트가 있습니다.Ondrag ROT-13/ROT-47 디코드

imdb의 키워드와 마찬가지로,이를 표시하려면 롤오버해야합니다.

텍스트가 표시된 경우 텍스트를 표시하는 것이 좋고 대화식 인 방법이라고 생각했습니다.

예 :

어떻게 프로그래머가 시간 (이다) 표현 않습니다 | (어)의 사랑을? Zl srryvatf sbe lbh ner uneqpbqrq.

이제 난독 화 텍스트를 클립 보드로 복사 할 준비가 된 것처럼 드래그하여 표시해야합니다.

이 방법이 있습니까? 내 현재 문제는 자바 스크립트에서 현재 선택을 결정하는 방법입니다.

답변

1

난 단지 CSS로 생각할 수있는 하나 개의 교묘 한 방법이있다 :

를 사용하여 배경 색상과 동일한 색상의 텍스트가! 그런 다음 사용자가 강조 표시하면 텍스트가 표시됩니다. 명백하게하기 위해 강조해야 할 부분에 대해 설명하거나주의를 기울여야합니다.

또 다른 방법 :

물건 읽기 전용 텍스트 입력에 ROT13, 그것을 디코딩 Ajax 호출과 함께 select 이벤트를 연결합니다. 입력에 맞는 스포일러 텍스트의 더 작은 비트에만 작동합니다. textarea로 시도 할 수도 있지만 readonly 속성을 허용하지 않습니다 (어쩌면 상관 없습니다).

이렇게하는 방법에는 여러 가지가 있지만 (예 : div를 숨기거나 표시) 예를 들어 텍스트를 선택하여 스포일러를 실행하는 것과 가장 비슷하거나 가장 간단합니다.

EDIT : 배경색 솔루션을 사용하면 텍스트를 인코딩하지 않고 강조 표시 될 때까지 "보이지 않게"만들 수 있습니다. 실제로는 꽤 싸구려 솔루션이며, 더 좋은 다른 많은 것들이 있습니다. 그러나 좋은 부분은 그것이 css라는 것입니다. 솔직히 나는 완벽한 하이라이트를 강요하는 것은 사용자에게 고통이 될 것이라고 생각한다. 한 곳에서 rot13 값을 저장하고, 다른 값 (숨겨진 경간 일 수도있다)에 실제 값을 저장하고, js를 사용하여 클릭이나 다른 것으로 바꾼다. 별도로 실제로 디코딩을 처리 할 필요가 없습니다. CSS만으로도 똑똑한 :hover 또는 :focus 셀렉터로이 작업을 수행 할 수 있습니다.

EDIT2는 : 당신이 혼자 자바 스크립트와 ROT13 디코딩을 할 수있는 나에게 발생하지 않았다 어떤 이유로, 나는 PHP는 세계에서오고 그래서 지금은 아주 어리석은 생각합니다. 죄송합니다. 귀하의 질문에 더 잘 대답하지 못했지만,이 중 일부는 유용합니다. GL!

+0

나는 색상/배경 아이디어를 좋아합니다. 하지만 어떻게 인코딩 된 원본 텍스트를 표시합니까? - 요즘 유즈넷 usenet 경험을 오늘날 사용성 표준과 결합한 경험을하려고합니다. –

+0

@Joe Hopfgartner : 저는 당신이하는 말을 듣지 만, 디코딩 된 것을 숨길 수있을 때 동적으로 해독 할 실제 필요가 있다고 생각하지 않습니다. 당신의 html에있는 가치. 나는 나의 대답을 업데이트했다. –

+0

마우스를 올리면 너무 좋아 ..http://jsfiddle.net/WZWJn/ –