0

phonegap は初めてです。ios で cordova1.5 を使用しています。ブラウザで *.doc なしで開くと、すべて問題ありませんが、まだ fileSytem が表示されます。例: gif、jpg、png、txt、html、pdf。

ブラウザで *.doc を開いた後、新しいビューを閉じます。childBroswer(プラグイン)、デフォルトの webview、"file:///"(場所)、"http://"(net)、それらすべての元の webview は、もう fileSystem を取得しません。

バグですか?それは正常ですか?

4

1 に答える 1

0

これを整理できたかどうかはわかりませんが、Cordova は NSMutableArray を拡張して pop メソッドを追加します。Word ドキュメントを開くと、ビューアーは Cordova バージョンの pop をオーバーライドし、アプリに戻ると、Cordova はそのバージョンの使用を開始します。

同じ問題があることを確認するには、[argument pop] を数回呼び出すプラグインを作成します。Word 文書を読み込んだ後、動作の変化に気付くはずです。

以下のコードのようなものを実行することで回避できます。ドキュメントを表示する前にストア メソッドを保存し、ドキュメントを閉じた後に復元を呼び出す必要があります。

objc/runtime.h をインポート objc/message.h をインポート

@実装 ...

static IMP cordovaPopImplementation = NULL; static const char* cordovaPopEncoding = NULL;

+(void)storeCordovaPop { メソッド popMethod = class_getInstanceMethod([NSMutableArray クラス], @selector(pop)); if (!cordovaPopImplementation) { cordovaPopImplementation = method_getImplementation(popMethod); cordovaPopEncoding = method_getTypeEncoding(popMethod); } }

+(void)restoreCordovaPop {
class_replaceMethod([NSMutableArray クラス], @selector(pop), cordovaPopImplementation, cordovaPopEncoding); }

于 2012-05-31T01:29:15.883 に答える