Я работаю над приложением в Кордове, но столкнулся с проблемой. Проблема, с которой я сталкиваюсь, возникает в скрипте, где скрытая форма отправляется в iframe для предварительного просмотра файла. Сценарий выглядит следующим образом:Кордова iframe работает в iOS Safari, но не в Android
document.body.innerHTML = '\
<div class="topbar">\
<div class="title">File</div>\
</div>\
<div id="content" class="content">\
<iframe id="file-iframe" name="file-iframe" class="file-iframe" charset="UTF-8"></iframe>\
</div>';
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "url_of_file");
form.setAttribute("target", "file-iframe");
var filenameField = document.createElement("input");
filenameField.setAttribute("type", "hidden");
filenameField.setAttribute("name", "q");
filenameField.setAttribute("value", file.filename);
form.appendChild(filenameField);
document.body.appendChild(form);
form.submit();
form.parentNode.removeChild(form);
При вызове сценарий в основном создает представление с пустым IFRAME, а затем создать форму, чтобы отправить на него. Хотя это отлично работает в iOS Simulator даже без Кордовы (пока это простой JavaScript), он не работает на реальных устройствах Android. При исследовании журнала появляется следующая строка:
00:43:16 D CordovaLog : file:///android_asset/www/index.html: Line 1 : Uncaught SyntaxError: Unexpected token ILLEGAL
00:43:16 I chromium : [INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token ILLEGAL", source: file:///android_asset/www/index.html (1)
Подобные вопросы свидетельствуют о том, что есть нелегальные пробельные из JSBin или подобных сайтов, но это не кажется, по той же причине здесь, так как код не имеет был скопирован и фактически работает на iOS.
Почему это происходит и как оно может быть исправлено?
Заранее спасибо