繁体   English   中英

Cordova iframe可在iOS Safari中使用,但不能在Android中使用

[英]Cordova iframe working in iOS Safari but not in Android

我正在使用Cordova应用程序,但是遇到了问题。 我面临的问题发生在一个脚本中,其中一个隐藏的表单正在提交给iframe来预览文件。 脚本如下:

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创建视图,然后创建要提交给它的表单。 尽管即使没有Cordova,这在iOS Simulator中也能很好地工作(这仍然是普通的JavaScript),但在真正的Android设备上却无法实现。 调查日志时,将显示以下行:

00:43:16 D CordovaLog:file:///android_asset/www/index.html:第1行:未捕获的语法错误:意外的令牌非法

00:43:16 Ichrome:[INFO:CONSOLE(1)]“未捕获的SyntaxError:意外的令牌非法”,来源:file:///android_asset/www/index.html(1)

类似的问题表明,JSBin或类似网站中存在非法空格,但这在这里似乎不是同一原因,因为代码尚未复制且实际上可在iOS上运行。

为什么会发生这种情况,如何解决?

提前致谢

看起来有些非法字符实际上已进入脚本,但仍然不知道为什么。 至少现在可以了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM