从内部存储注入脚本到cordova inappbrowser



我们可以在Apache Cordova中使用这个实例化Inappbrowser:

var ref = window.open('http://apache.org', '_blank', 'location=yes');

非常直接:)

现在,我想注入一些脚本从本地存储在页面加载在InAppBrowser

在cordova的InAppBrowser.java中我发现了这个方法:

private void injectDeferredObject(String source, String jsWrapper)

但是不知道如何从Cordova Api调用这个:(

看起来这是一个非常新的功能,允许使用像ref.executeScript(details,callback)这样的东西。它实际上记录在这里:https://github.com/apache/cordova-docs/blob/master/docs/en/edge/cordova/inappbrowser/inappbrowser.md#executescript,但看起来文档网站还没有更新。

当前构建的JavaScript版本似乎没有这个(只需搜索'executeScript',你会看到它不存在。看起来您可以尝试构建自己的JavaScript副本来测试它,因为桥代码已经存在于repo: https://github.com/apache/cordova-js/blob/master/lib/common/plugin/InAppBrowser.js#L55中,并且正如您指出的那样,已经有Java代码支持它(因此,它应该至少在Android上工作)。我不确定这个功能是否得到了很好的测试或支持,所以你可能会遇到一些问题。你应该尝试一下,让我们知道!

您可以在这里找到构建JavaScript的说明:https://github.com/apache/cordova-js

最新更新