do_preview.js 946 B

12345678910111213141516171819202122232425262728293031
  1. function do_preview(name) {
  2. var o_data = document.getElementById('content');
  3. var p_data = document.getElementById('see_preview');
  4. var s_data = new FormData();
  5. s_data.append('data', o_data.value);
  6. var url = "/api/w/" + name;
  7. var xhr = new XMLHttpRequest();
  8. xhr.open("POST", url, true);
  9. xhr.send(s_data);
  10. xhr.onreadystatechange = function() {
  11. if(this.readyState === 4 && this.status === 200) {
  12. g_data = JSON.parse(this.responseText)['data'];
  13. p_data.innerHTML = g_data;
  14. while(1) {
  15. m_data = g_data.match(/<script>((?:(?!<\/script>).)+)<\/script>/);
  16. if(m_data) {
  17. eval(m_data[1]);
  18. g_data = g_data.replace(/<script>((?:(?!<\/script>).)+)<\/script>/, '', 1);
  19. } else {
  20. break;
  21. }
  22. }
  23. }
  24. }
  25. }