【问题标题】:Cordova iframe working in iOS Safari but not in AndroidCordova iframe 在 iOS Safari 中工作,但在 Android 中不工作
【发布时间】:2015-03-26 17:33:15
【问题描述】:

我正在开发 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(这还是纯 JavaScript),这在 iOS 模拟器中也能完美运行,但在真正的 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",来源:file:///android_asset/www/index.html (1)

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

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

提前致谢

【问题讨论】:

    标签: javascript android cordova iframe


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 2012-03-18
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多