Cordova iframe在iOS Safari中工作,但在Android中不起作用

Cordova iframe working in iOS Safari but not in Android

本文关键字:但在 Android 不起作用 工作 Cordova iOS Safari iframe      更新时间:2023-09-26

我正在开发一个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模拟器中也能完美运行(这仍然是普通的JavaScript),但它在真正的Android设备上失败了。调查日志时,将显示以下行:

00:43:16 D 科尔多瓦日志:file:///android_asset/www/index.html:第 1 行:未捕获语法错误:意外令牌非法

00:43:16 I 铬 : [信息:控制台(1)] "未捕获的语法错误:意外令牌非法",来源:file:///android_asset/www/index.html (1)

类似的问题表明JSBin或类似站点存在非法空白,但这似乎与这里的原因不同,因为代码尚未被复制并且实际上可以在iOS上运行。

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

提前致谢

看起来一些非法角色实际上进入了剧本,仍然不知道为什么。至少它现在可以工作了。

相关文章: