我正在尝试用类型记录+ react构建cordova应用程序。
因此,我需要打开base64图像或pdf在外部应用程序(画廊或PDF阅读器,用户可以手动选择该选项),并遇到这个科多瓦插件"InAppBrowser“。
问题是,整个引用和文档都是为JavaScript创建的,当我试图在TS中使用它时,它会导致错误
var ref = cordova.InAppBrowser.open(base64path, '_blank', 'location=yes');属性'InAppBrowser‘在'Cordova'.类型中不存在
我已经安装了"cordova“和”cordova-in browser-plugin“(index.d.ts文件)的类型,但它并没有解决这个问题。有人知道解决办法吗?谢谢。
发布于 2017-02-08 12:30:29
由于某种原因,InAppBrowser类型文件在安装时似乎没有“打开”。我通过一个新的cordova项目-> install通过config.xml GUI "Add,“通过NPM在本地复制了这个问题。
我不确定如果先安装了类型,然后添加了cordova插件--我想它可能会重现,但是解决方案是InAppBrowser接口永远不会添加到cordova中。不过,这是一个简单的解决方案。
导航到键入文件夹InAppBrowser.d.ts,并添加:
interface Cordova{
InAppBrowser: InAppBrowser
}然后,调用您原来的帖子(我使用了google.com):
var ref = cordova.InAppBrowser.open('http://www.google.com','_blank','location=yes')发布于 2017-06-20 22:37:50
我已经为cordova插件-inappbrowser向DefinitelyTyped提交了一个更正的类型文件。从版本1.7.0开始,这个bug是固定的。
发布于 2019-02-03 14:29:27
作为上面答案的补充,我在一个多平台的角5应用程序中有一个类似的问题,它编译到cordova项目的www文件夹中。类型记录不会解析window.cordova.InAppBrowser (即使在将cordova-plugin添加为一个dev依赖项之后)。
在我的例子中,我需要添加“接口Cordova{.”定义主项目根文件夹中的typings.d.ts文件。
希望这对其他人有帮助,就像上面的帖子帮助我一样:)
https://stackoverflow.com/questions/42095516
复制相似问题