|
4 | 4 | <head>
|
5 | 5 | <title>Inflate/deflate, URL encode/decode</title>
|
6 | 6 | <meta charset="utf-8"/>
|
7 |
| - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> |
| 7 | + <link rel="stylesheet" type="text/css" href="style.css"> |
8 | 8 | <script type="text/javascript" src="deflate/pako.min.js"></script>
|
9 | 9 | <script type="text/javascript">
|
10 | 10 | //<![CDATA[
|
|
460 | 460 | //]]>
|
461 | 461 | </script>
|
462 | 462 | </head>
|
463 |
| -<body style="color-scheme:light dark;"> |
464 |
| - <h2>Inflate/deflate, URL encode/decode</h2> |
465 |
| - <textarea rows="40" cols="120" id="textarea" placeholder="Drop files here or enter text" spellcheck="false" autocomplete="off" autocorrect="off" autocapitalize="off"></textarea> |
466 |
| - <br/><br/> |
467 |
| - <form> |
468 |
| - <input type="checkbox" id="encodeCheckbox" checked="checked" /> URL Encode |
469 |
| - <input type="checkbox" id="deflateCheckbox" checked="checked" /> Deflate |
470 |
| - <input type="checkbox" id="base64Checkbox" checked="checked" /> Base64 |
471 |
| - <button onclick="removeLinebreaks(document.getElementById('textarea').value);return false;">Remove linebreaks</button> |
472 |
| - <button onclick="document.getElementById('textarea').value = encodeURIComponent(document.getElementById('textarea').value);return false;">URL Encode</button> |
473 |
| - <button onclick="decodeFromUri();return false;">URL Decode</button> |
474 |
| - <button onclick="encode(document.getElementById('textarea').value);return false;">Encode</button> |
475 |
| - <button onclick="decode(document.getElementById('textarea').value);return false;">Decode</button> |
476 |
| - (<span id="count">0</span> chars) |
| 463 | +<body> |
| 464 | + <span style="position:relative;display:inline-block;left:50%;transform:translate(-50%,0);"> |
| 465 | + <div style="display:flex;align-items:center;opacity:0.7;"> |
| 466 | + <svg viewBox="24 26 68 68" style="width:28px;display:inline-block;"> |
| 467 | + <line y2="72.394" x2="41.061" y1="43.384" x1="58.069" stroke-miterlimit="10" stroke-width="3.5528" |
| 468 | + stroke="currentColor" fill="none" /> |
| 469 | + <line y2="72.394" x2="75.076" y1="43.384" x1="58.068" stroke-miterlimit="10" stroke-width="3.5008" |
| 470 | + stroke="currentColor" fill="none" /> |
| 471 | + <path |
| 472 | + d="M52.773,77.084c0,1.954-1.599,3.553-3.553,3.553H36.999c-1.954,0-3.553-1.599-3.553-3.553v-9.379c0-1.954,1.599-3.553,3.553-3.553h12.222c1.954,0,3.553,1.599,3.553,3.553V77.084z" |
| 473 | + fill="currentColor" /> |
| 474 | + <path |
| 475 | + d="M67.762,48.074c0,1.954-1.599,3.553-3.553,3.553H51.988c-1.954,0-3.553-1.599-3.553-3.553v-9.379c0-1.954,1.599-3.553,3.553-3.553H64.21c1.954,0,3.553,1.599,3.553,3.553V48.074z" |
| 476 | + fill="currentColor" /> |
| 477 | + <path |
| 478 | + d="M82.752,77.084c0,1.954-1.599,3.553-3.553,3.553H66.977c-1.954,0-3.553-1.599-3.553-3.553v-9.379c0-1.954,1.599-3.553,3.553-3.553h12.222c1.954,0,3.553,1.599,3.553,3.553V77.084z" |
| 479 | + fill="currentColor" /> |
| 480 | + </svg> |
| 481 | + <span style="font-family:Helvetica;font-weight:700;font-size:20px;margin-left:4px;">draw.io</span> |
| 482 | + <h2 style="text-align:center;width:100%;margin:10px;">Inflate/deflate, URL encode/decode</h2> |
| 483 | + </div> |
| 484 | + <hr> |
477 | 485 | <br>
|
478 |
| - <button onclick="document.getElementById('textarea').value=escape(document.getElementById('textarea').value);return false;">Escape</button> |
479 |
| - <button onclick="document.getElementById('textarea').value=unescape(document.getElementById('textarea').value);return false;">Unescape</button> |
480 |
| - <button onclick="document.getElementById('textarea').value=btoa(document.getElementById('textarea').value);return false;">btoa</button> |
481 |
| - <button onclick="document.getElementById('textarea').value=atob(document.getElementById('textarea').value);return false;">atob</button> |
482 |
| - <button onclick="normalizeXml();return false;">Normalize XML</button> |
483 |
| - <button onclick="formatXml();return false;">Format XML</button> |
484 |
| - <button onclick="formatJson(2);return false;">Format JSON</button> |
485 |
| - <button onclick="formatJson();return false;">Normalize JSON</button> |
486 |
| - <button onclick="jsVar();return false;">JS variable</button> |
487 |
| - <br> |
488 |
| - <button onclick="checkMxFile();return false;">Check mxFile</button> |
489 |
| - <button onclick="correctMxFile();return false;">Correct mxFile</button> |
490 |
| - <button onclick="download();return false;">Download</button> |
491 |
| -<script type="text/javascript"> |
492 |
| -//<![CDATA[ |
493 |
| -// Enables dropping files |
494 |
| -if (window.File != null && window.FileReader != null && window.FileList != null) |
495 |
| -{ |
496 |
| - function handleDrop(evt) |
497 |
| - { |
498 |
| - evt.stopPropagation(); |
499 |
| - evt.preventDefault(); |
500 |
| - |
501 |
| - if (evt.dataTransfer.files.length > 0) |
502 |
| - { |
503 |
| - var file = evt.dataTransfer.files[0]; |
504 |
| - |
505 |
| - var reader = new FileReader(); |
506 |
| - reader.onload = function (e) |
507 |
| - { |
508 |
| - evt.target.value = e.target.result; |
509 |
| - }; |
510 |
| - reader.readAsText(file); |
511 |
| - } |
512 |
| - }; |
513 |
| - |
514 |
| - function handleDragOver(evt) |
515 |
| - { |
516 |
| - evt.stopPropagation(); |
517 |
| - evt.preventDefault(); |
518 |
| - }; |
| 486 | + <textarea rows="40" cols="120" id="textarea" placeholder="Drop files here or enter text" spellcheck="false" autocomplete="off" autocorrect="off" autocapitalize="off"></textarea> |
| 487 | + <br/><br/> |
| 488 | + <form> |
| 489 | + <input type="checkbox" id="encodeCheckbox" checked="checked" /> URL Encode |
| 490 | + <input type="checkbox" id="deflateCheckbox" checked="checked" /> Deflate |
| 491 | + <input type="checkbox" id="base64Checkbox" checked="checked" /> Base64 |
| 492 | + <button onclick="removeLinebreaks(document.getElementById('textarea').value);return false;">Remove linebreaks</button> |
| 493 | + <button onclick="document.getElementById('textarea').value = encodeURIComponent(document.getElementById('textarea').value);return false;">URL Encode</button> |
| 494 | + <button onclick="decodeFromUri();return false;">URL Decode</button> |
| 495 | + <button onclick="encode(document.getElementById('textarea').value);return false;">Encode</button> |
| 496 | + <button onclick="decode(document.getElementById('textarea').value);return false;">Decode</button> |
| 497 | + (<span id="count">0</span> chars) |
| 498 | + <br> |
| 499 | + <button onclick="document.getElementById('textarea').value=escape(document.getElementById('textarea').value);return false;">Escape</button> |
| 500 | + <button onclick="document.getElementById('textarea').value=unescape(document.getElementById('textarea').value);return false;">Unescape</button> |
| 501 | + <button onclick="document.getElementById('textarea').value=btoa(document.getElementById('textarea').value);return false;">btoa</button> |
| 502 | + <button onclick="document.getElementById('textarea').value=atob(document.getElementById('textarea').value);return false;">atob</button> |
| 503 | + <button onclick="normalizeXml();return false;">Normalize XML</button> |
| 504 | + <button onclick="formatXml();return false;">Format XML</button> |
| 505 | + <button onclick="formatJson(2);return false;">Format JSON</button> |
| 506 | + <button onclick="formatJson();return false;">Normalize JSON</button> |
| 507 | + <button onclick="jsVar();return false;">JS variable</button> |
| 508 | + <br> |
| 509 | + <button onclick="checkMxFile();return false;">Check mxFile</button> |
| 510 | + <button onclick="correctMxFile();return false;">Correct mxFile</button> |
| 511 | + <button onclick="download();return false;">Download</button> |
| 512 | + <script type="text/javascript"> |
| 513 | + //<![CDATA[ |
| 514 | + // Enables dropping files |
| 515 | + if (window.File != null && window.FileReader != null && window.FileList != null) |
| 516 | + { |
| 517 | + function handleDrop(evt) |
| 518 | + { |
| 519 | + evt.stopPropagation(); |
| 520 | + evt.preventDefault(); |
| 521 | + |
| 522 | + if (evt.dataTransfer.files.length > 0) |
| 523 | + { |
| 524 | + var file = evt.dataTransfer.files[0]; |
| 525 | + |
| 526 | + var reader = new FileReader(); |
| 527 | + reader.onload = function (e) |
| 528 | + { |
| 529 | + evt.target.value = e.target.result; |
| 530 | + }; |
| 531 | + reader.readAsText(file); |
| 532 | + } |
| 533 | + }; |
| 534 | + |
| 535 | + function handleDragOver(evt) |
| 536 | + { |
| 537 | + evt.stopPropagation(); |
| 538 | + evt.preventDefault(); |
| 539 | + }; |
519 | 540 |
|
520 |
| - // Setup the dnd listeners. |
521 |
| - var textarea = document.getElementById('textarea'); |
| 541 | + // Setup the dnd listeners. |
| 542 | + var textarea = document.getElementById('textarea'); |
522 | 543 |
|
523 |
| - textarea.addEventListener('dragover', handleDragOver, false); |
524 |
| - textarea.addEventListener('drop', handleDrop, false); |
525 |
| - var span = document.getElementById('count') |
| 544 | + textarea.addEventListener('dragover', handleDragOver, false); |
| 545 | + textarea.addEventListener('drop', handleDrop, false); |
| 546 | + var span = document.getElementById('count') |
526 | 547 |
|
527 |
| - function updateCount() |
528 |
| - { |
529 |
| - span.innerHTML = textarea.value.length; |
530 |
| - } |
| 548 | + function updateCount() |
| 549 | + { |
| 550 | + span.innerHTML = textarea.value.length; |
| 551 | + } |
531 | 552 |
|
532 |
| - textarea.addEventListener('input', updateCount, false); |
533 |
| -} |
534 |
| -//]]> |
535 |
| -</script> |
536 |
| -</form> |
| 553 | + textarea.addEventListener('input', updateCount, false); |
| 554 | + } |
| 555 | + //]]> |
| 556 | + </script> |
| 557 | + </form> |
| 558 | + </span> |
537 | 559 | </body>
|
538 | 560 | </html>
|
0 commit comments