0

複数の CordovaWebViews を含む Android アプリケーションがあります。(注: ほとんどなじみのないアプリのメンテナンスを行っています。) さまざまな WebView が、CordovaWebView の loadUrl 関数を使用して、"javascript: ('toggleMenu();');"という文字列でメッセージを相互に送信します。. (toggleMenu() 関数は私の

WebView のレイアウト方法にいくつかの変更を加えました (スライド アウト メニューとメイン ビューの両方を保持する別のトップレベル ビューを追加しました)、突然これらの loadUrl 呼び出しがタイムアウトになりました。 (2774): CordovaWebView: タイムアウト エラー!" logcatに表示される行。

読み込んでいる URL は非常に小さな JavaScript スニペットなので、どうしてこうなったのでしょうか? このエラーの原因はどこにあるのでしょうか? logcat は、呼び出しが Android WebView インスタンスに正しく送信されたことを通知することを除けば、あまり役に立ちません。

D/NWCPanels(2774): <9956> sendMessage - HEADER; target: main
D/NWCPanels(2774): <9956> sendMessage - script:javascript:  ('toggleMenu();');
D/UiTask(2774): <1> run - url: javascript:  ('toggleMenu();');
D/WebView(2774): loadUrlImpl: called

さて、呼び出しは Android の WebView に到達しました。コードが機能したと考えていることを示すデバッグ ステートメントがあり、実際に webkit にアクセスしているように見えます。

D/CordovaLog(2774): - Debug - toggleMenu from header. result: true
D/webcore(2774):  CORE loadUrl: called
D/webkit(2774): Firewall not null
D/webkit(2774): euler: isUrlBlocked = false

ブロックされていないので、私の URL を読み込もうとしているのかもしれません。しかし、その後、〜3秒後:

E/CordovaWebView(2774): CordovaWebView: TIMEOUT ERROR!
4

2 に答える 2

0

質問でまったく触れていないことが判明しました。私が使用していた社内フレームワークは、関数のフォーマット方法が気に入らなかったのです。(関数の名前を把握するために文字列操作を行い、「var funcName = function(){}」を実行するとそれが壊れます。)

ここには何もありません、先に進んでください...

于 2013-02-22T23:40:48.910 に答える