2017-02-07 3 views
1

私はtypescript + reactでcordovaアプリを構築しようとしています。In App Browserを使用してコードブラウザでコードを入力

外部アプリ(ギャラリーまたはPDFリーダーで、ユーザーが手動でオプションを選択できる)でbase64イメージまたはpdfを開く必要があり、このコードバープラグイン "InAppBrowser"を見つけました。

問題があり、全体の参照やドキュメントには、JavaScriptのために作られており、私はTSでそれを使用しようとしているときには、

var ref = cordova.InAppBrowser.open(base64path, '_blank', 'location=yes'); 

プロパティ「InAppBrowser」のタイプに存在しないエラーにつながります'コルドバ'。

"cordova"と "cordova-in-app-browser-plugin"(index.d.tsファイル)の入力がありますが、問題は修正されていません。 誰かが解決策を知っていますか?ありがとう。

+0

私はこれを見て、他のファイルと比較しています。私はInformBrowserのtypescriptファイルに "バグ"なものがあると思います.... 基本的には、 "InAppBrowser.d.ts"ファイル(入力用フォルダ)に以下を追加しました: interface Cordova { InAppBrowser:InAppBrowser } これを次のように呼び出します。var ref = cordova.InAppBrowser.open( 'http://www.google.com'、 '_blank'、 'location = yes');これがあなたのために働くかどうか教えていただけますか? – Aaron

+0

@Aaronええ、ありがとう!魅力のように動作します。 – Quimmo

+0

それは@クィンモをうまくいった。あなたが気にしないなら、私はそれを答えに変えました:) – Aaron

答えて

2

何らかの理由で、InAppBrowserタイピングファイルがインストールされているときに「オン」になっていないようです。問題をローカルで新しいcordovaプロジェクトで再現することができました.-> config.xml GUIでInAppBrowserをインストールします。「追加」を選択して、NPMを使用してタイピングをインストールします。

入力が最初にインストールされ、次にコードバープラグインが追加されたかどうかはわかりません - 私は想像していますが、どちらの方法でも、InAppBrowserインターフェイスがコードワに追加されないという解決策です。しかしそれは簡単な解決策です。

タイピングのフォルダに移動し、InAppBrowser.d.ts、および追加:

interface Cordova{ 
    InAppBrowser: InAppBrowser 
} 

を次に、あなたのオリジナルのポストのように呼び出します(私はgoogle.comを使用):

var ref = cordova.InAppBrowser.open('http://www.google.com','_blank','location=yes') 
0

I cordova-plugin-inappbrowserのための修正された入力ファイルをDefinitelyTypedに提出しました。 version 1.7.0からは、このバグは修正されています。

関連する問題