Javascript 使用带typescript的应用程序内浏览器cordova插件

Javascript 使用带typescript的应用程序内浏览器cordova插件,javascript,android,cordova,reactjs,typescript,Javascript,Android,Cordova,Reactjs,Typescript,我正在尝试用typescript+react构建cordova应用程序 所以我需要在外部应用程序(Gallery或pdf Reader,用户可以手动选择选项)中打开base64图像或pdf,并偶然发现这个cordova插件“InAppBrowser” 问题是,整个引用和文档都是针对JavaScript的,当我试图在TS中使用它时,会导致错误 var ref = cordova.InAppBrowser.open(base64path, '_blank', 'location=yes'); 类型

我正在尝试用typescript+react构建cordova应用程序

所以我需要在外部应用程序(Gallery或pdf Reader,用户可以手动选择选项)中打开base64图像或pdf,并偶然发现这个cordova插件“InAppBrowser”

问题是,整个引用和文档都是针对JavaScript的,当我试图在TS中使用它时,会导致错误

var ref = cordova.InAppBrowser.open(base64path, '_blank', 'location=yes');
类型“Cordova”上不存在属性“InAppBrowser”。

我已经为“cordova”和“cordova in-app browser plugin”(index.d.ts文件)安装了打字功能,但它并没有解决问题。
有人知道解决办法吗?谢谢。

由于某种原因,InAppBrowser打字文件在安装时似乎没有“打开”。我通过一个新的cordova项目->通过config.xml GUI“Add”安装InAppBrowser,通过NPM安装打字,在本地重现了这个问题

我不确定如果先安装了typings,然后添加了cordova插件,这是否会重现——我想可能会,但不管怎样,解决方案都是永远不会将InAppBrowser界面添加到cordova。不过,这是一个简单的解决方案

导航到“typings”文件夹中的appbrowser.d.ts,然后添加:

interface Cordova{
    InAppBrowser: InAppBrowser
}
然后,像你原来的帖子(我用的是google.com)那样打电话:


我已经提交了一个更正的打字文件,以便在AppBrowser中为cordova插件确定键入。首先,这个错误已经修复。

作为上述答案的补充,我在一个多平台angular 5应用程序中遇到了类似问题,该应用程序已编译到cordova项目的www文件夹中。Typescript无法解析window.cordova.InAppBrowser(即使在将cordova插件作为开发人员依赖项添加到InAppBrowser之后)

在我的例子中,我需要将“interface Cordova{…”定义添加到主项目根文件夹中的typings.d.ts文件中


希望这能像上面的帖子帮助我一样帮助其他人:)

在我的情况下,我所要做的就是在文件开头添加以下行:

declare var cordova: any;

我一直在看这个,并将其与其他文件进行比较。我认为在AppBrowser文件中的typescript中可能有一些“错误”内容……基本上,我在“InAppBrowser.d.ts”文件(typings文件夹)中添加了以下内容:interface Cordova{InAppBrowser:InAppBrowser},然后将其命名为:var ref=Cordova.InAppBrowser.open(''.'U blank',location=yes');你能告诉我这对你有用吗?@Aaron是的,谢谢!很有魅力。很高兴@Quimmo奏效了。如果你不介意的话,我把它变成了一个答案:)@Aaron不,我不介意,这是正确的答案。)我想这个接口应该通过直接拉入repo的请求添加到打字文件中。这样可以节省时间。
declare var cordova: any;