Где объект Java Script хранится на диске?

#javascript #google-translate

#javascript #google-translate

Вопрос:

Я новичок в Java Script. Этот код HTML и Java Script транслитерирует английское слово на бенгальский, используя Google Transliteration API. Я загружаю этот файл в браузер, и результат появляется на странице (просто бенгальское слово).

Просмотр исходного кода страницы в Firefox показывает пустой <div id="transliteration"></div> тег, как это было в загруженном мной HTML-коде.
Но используя Firebug, я могу ясно видеть, что бенгальское слово действительно находится внутри этого тега.
Опять же, используя HttpFox, я могу видеть result объект, полученный скриптом из Google.

Вопросы;
Почему исходный код страницы в Firefox лишен результата, хотя Firefox отобразил результат, и я могу видеть его прямо там?
Где на диске эти программы (Firebug и HttpFox) ищут result объект?

 <html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" src="https://www.google.com/jsapi?key=MY_KEY">
    </script>
    <script type="text/javascript">

    google.load("language", "1");

    function initialize() {
      google.language.transliterate(["Mohona"], "en", "bn", function(**result**) {
        if (!result.error) {
          var container = document.getElementById("transliteration");
          if (result.transliterations amp;amp; result.transliterations.length > 0 amp;amp;
            result.transliterations[0].transliteratedWords.length > 0) {
            container.innerHTML = result.transliterations[0].transliteratedWords[0];
          }
        }
      });
    }

    google.setOnLoadCallback(initialize);

    </script>
  </head>
  <body>
    <div id="transliteration"></div>
  </body>
</html> 
  

Результат в тегах div (Firebug):

введите описание изображения здесь

Результирующий объект (HttpFox). Извините за изображение низкого качества. Последняя строка черного текста — это весь результирующий объект (не оранжевая полоса).

введите описание изображения здесь

Ответ №1:

View is Source показывает HTML как первоначально загруженный. Firebug показывает вам DOM страницы в форме HTML после запуска JavaScript страницы и изменения DOM.

Ответ №2:

Javascript управляет DOM в памяти.

Таким образом, нигде на диске нет представления измененного DOM.

View-source будет отображать только данные, полученные с сервера.


Чтобы получить к нему доступ из javascript, вам нужно выполнить

 var html = document.getElementsByTagName('html')[0].innerHTML;
alert(html); // just to see it
  

но для записи его в файл вам потребуется нечто большее, потому что javascript не может получить доступ к файловой системе (по соображениям безопасности)

Для ручного сохранения вы можете просто поместить содержимое html переменной в <textarea> и скопировать / вставить в файл.

Комментарии:

1. Как мне получить доступ к этим данным? Могу ли я сделать это из кода Java Script и записать его в файл на диске?