Чтение данных в теге 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>