Кроссбраузерный импорт из тхт-файла
Доброго времени суток.
Столкнулся с проблемой импорта содержимого тхт-файла в div. В ФФ все работает нормально, а в IE и Opera-не хочет. Создание getXmlHttpRequest - кроссбраузерное. Для наглядности привожу код:
//Кроссбраузерное создание getXmlHttpRequest
function getXmlHttpRequest()
{
if (window.XMLHttpRequest)
{
try
{
return new XMLHttpRequest();
}
catch (e){}
}
else if (window.ActiveXObject)
{
try
{
return new ActiveXObject('Msxml2.XMLHTTP');
} catch (e){}
try
{
return new ActiveXObject('Microsoft.XMLHTTP');
}
catch (e){}
}
return null;
}
// Асинхронный запрос_1
function showAsyncRequest()
{
// Запрос
req1 = getXmlHttpRequest();
req1.onreadystatechange = showAsyncRequestComplete;
req1.open("GET", "txt/new_1.txt", true);
req1.send(null);
}
// Завершение асинхронного запроса_1
function showAsyncRequestComplete()
{
// только при состоянии "complete"
if (req1.readyState == 4)
{
var result_1 = document.getElementById("layer_1st_1"); //Сюда выводим результат
result_1.firstChild.nodeValue = req1.responseText;
}
}
Что б было удобней тут же html и css <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>___</title> <link rel="stylesheet" type="text/css" href="style_.css"/> </head> <body> <div id="layer_1st_1"> </div> <script type="text/javascript" src="ajx_import_1.js"></script> <script type="text/javascript" src="done_.js"></script> </body> </html> Код:
#layer_1st_1{ |
Потому что XMLHttpRequest работает только с протоколом HTTP, в FireFox сделали исключение и поэтому там запросы к URL вида file:///C:/Users/Magneto/Desktop работают. Поэтому чтоб работало везде нужно установить себе на компьютер веб-сервер, например nginx. Или если есть хостинг, забросить туда.
|
Цитата:
|
Тобишь, если к файлу будет обращение типа:
http://mysite.ru/file.txt Будет работать? 2:B@rmaley.e><e-не уверен, т.к. не Я автор данного скрипта и знания JS очень посредственные, пока что... Вот и пришел к Вам на форум, что б подучиться и точки над Ы поставить. |
| Часовой пояс GMT +3, время: 18:10. |