Как открыть локальный xml файл на android с помощью javascript?

У меня локальная .html страничка с кнопкой, при нажатии на которую я хочу открыть и распарсить локальный .xml файл в android браузере.
Пытался делать двумя способами:
1)
load: function () {

        $.ajax({
            type: "GET",
            async: false,
            url: "structure.xml",
            data: {
                key: "value"
            },
            dataType: "xml",
            success: function (xmlDoc) {
                alert("success");
                Parser.currentNode = xmlDoc.documentElement;
                Parser.rootTagName = xmlDoc.documentElement.tagName;
                Util.pathLoadedFiles = xmlDoc.documentElement.getAttribute("path");
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus);
            }

        });
}

Попадаю в error. (если запускаю на Win в IE — все работает как нужно)

2)
load: function () {

        xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET", "structure.xml", false);
        xmlhttp.send();
        xmlDoc = xmlhttp.responseXML;
        if (xmlDoc.readyState == 4) {
			Parser.currentNode = xmlDoc.documentElement;
			Parser.rootTagName = xmlDoc.documentElement.tagName;
			Util.pathLoadedFiles = xmlDoc.documentElement.getAttribute("path");
        }
    }

Тоже самое — на android не работает, а если запускаю на Win в IE — все работает как нужно
  • Вопрос задан
  • 4778 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rPman
Это вопиющее нарушение секурити, возможность открывать локально файлы из веб-приложения (даже запущенного локально) считаю огромной дырой. Судя по всему IE этим до сих пор грешит (небось сделали кучу затычек в почтовом клиенте, чтобы совсем не быть дырявым).

По уму это кстати настраивается в политиках (для IE).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы