novw Geplaatst 15 maart 2009 Geplaatst 15 maart 2009 Ik ben bezig mijn geocache avonturen online te zetten, maar nu zie ik al doende dat er best vaak informatie in mijn bijgevoegde tekjsten staan die als spoiler gezien kunnen worden. Nu wil ik niet mijn teksten aanpassen, maar ik wilde spoiler zaken via ROT13 (het gc.com "codeersysteem") versleutelen. Ik kom een end: <script language="JavaScript"> function rot_13(obj) { var keycode = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" var text = new String(obj.form.Text.value) var rot13 = new String() for(var i = 0; i < text.length; i++) { var codechar = text.substring(i, i + 1) var pos = keycode.indexOf(codechar.toUpperCase()) if(pos >= 0) { pos = (pos + keycode.length / 2) % keycode.length codechar = (codechar == codechar.toUpperCase()) ? keycode.substring(pos, pos + 1) : keycode.substring(pos, pos + 1).toLowerCase() } rot13 = rot13 + codechar } obj.form.Text.value = rot13 } </script> <form> <textarea name="Text" rows=10 cols=80 wrap=soft>Qvg vf rra fcbvyre</textarea><br> <input type=button value="ROT-13 klik" onClick="rot_13(this)"> </form> Maar... Dan heb ik dus zo'n lelijk tekstblok (form) op mijn pagina staan, meestal midden in een stuk tekst. Dat vind ik niet zo netjes staan. Is er iemand die mij (kant en klaar !, want ik snap er errug weinig van) iets kan vertellen hoe ik midden in een tekst Qvg vf rra fcbvyre kan zetten, en dan en knop/link om dat gecodeerde stukkie in normaal te zetten ?
novw Geplaatst 15 maart 2009 Auteur Geplaatst 15 maart 2009 Ik zie net dat "ergens anders" in dit geval bij Terracaching ze dit op de site werkend hebben. Hoe ze dat gedaan hebben snap ik dus niet.
novw Geplaatst 15 maart 2009 Auteur Geplaatst 15 maart 2009 enfin, ik beantwoord mijn eigen vraag voor een deel: <table width=100%> <tr> <td valign=top id=encrypted_hint> <a href="java script:decryptHint()">(decrypt)</a><br> qvg vf mbznne rra uvag. </td> <td valign=top id=decrypted_hint style="display:none;"> <a href="java script:encryptHint()">(encrypt)</a><br> dit is zomaar een hint. </td> </tr> </table> <script> function decryptHint() { document.getElementById('encrypted_hint').style.display = 'none'; if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) { document.getElementById('decrypted_hint').style.display = 'table-row'; } else { document.getElementById('decrypted_hint').style.display = 'block'; } } function encryptHint() { document.getElementById('decrypted_hint').style.display = 'none'; if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) { document.getElementById('encrypted_hint').style.display = 'table-row'; } else { document.getElementById('encrypted_hint').style.display = 'block'; } } </script> Maar nu. En dit valt waarschijnlijk buiten de scope van dit forum: Ik wil 'm zonder zodat de encode/decode link "buiten" staat. Dat kan nu wel, maar dan moet ik een hele lap tekst 2 keer ingeven en binnen de TD's zetten. <benny joling voice: aan>Kan dat nou niet handiger ?</benny joing voice uit>
BBosman Geplaatst 15 maart 2009 Geplaatst 15 maart 2009 <html> <head> <title>Test</title> <style>.hintLink{text-decoration: underline; cursor: pointer}</style> <script language="JavaScript"> function decrypt(obj) { var keycode = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var text = new String(obj.innerHTML); var rot13 = new String(); for(var i = 0; i < text.length; i++) { var codechar = text.substring(i, i + 1); var pos = keycode.indexOf(codechar.toUpperCase()) if(pos >= 0) { pos = (pos + keycode.length / 2) % keycode.length codechar = (codechar == codechar.toUpperCase()) ? keycode.substring(pos, pos + 1) : keycode.substring(pos, pos + 1).toLowerCase() } rot13 = rot13 + codechar } obj.innerHTML = rot13 } </script> </head> <body> Hier kan een heleboel tekst staan. <span onclick="decrypt(this)" class="hintLink">Vapyhfvrs rra fghxwr rapelcgrq grxfg.</span> Bedoel je zoiets? </body> </html>
novw Geplaatst 17 maart 2009 Auteur Geplaatst 17 maart 2009 die is vele malen mooier dan "de mijne" ! Super goed ! Bedankt, die ga ik gebruiken !
Aanbevolen berichten