Чтение данных в теге HTML-объекта

У меня есть текстовый файл, хранящийся на сервере, и объект в HTML, как это:

<object id="data" type="text/plain" data="test.txt"></object>

Как я могу прочитать содержимое test.txt в JavaScript То, что я до сих пор это:

var data = document.getElementByID("data");

Но я не могу понять, как читать HTML-документ внутри тега объекта.

1 ответ

Решение

object тег должен сделать отдельный запрос к серверу, а затем загрузить этот контент. Между тем, ваш JavaScript уже выполнен и "пропускает шину".

Запустите ваш код внутри onload событие object,

Тогда используйте .contentDocument.body.childNodes[0].innerHTML просмотреть текстовый файл.

var object = document.getElementByID("data");
object.onload = function() {
    var data = object.contentDocument.body.childNodes[0].innerHTML;
    // use the data
};

В качестве примера я создал простую функцию и кнопку. Просто скопируйте код html и js, и он должен работать на вас. Просто убедитесь, что вы создали соответствующий txt или html файл для импортируемого объекта.

function getObjectData()
{
    //alert("getObjectData");
    
    var myData = "";
    var object = document.getElementById("data");
    
    //get data inside object data
    var myData = object.contentDocument.body.childNodes[0].innerHTML;

    alert("myData => " + myData + " <= myData" );
}
#data{
    height: 36px;
    border: solid 1px red;
    /*overflow: hidden;*/
}
<div class="main">
    <object id="data" type="text/plain" data="test.txt"></object>
</div>
<br />
<button onclick="getObjectData()">Get Object Data</button>

Другие вопросы по тегам