2017-07-26 9 views
1

私の問題は、inappbrowserを使用してWebページを開くと、メインのJavaScriptファイルが無視されているように見えます。オートコンプリートと、ボタンの実際のコードを実行しているように見えるのに対し、..私はコンソールを検査するchrome://inspect/#devicesを使用していますし、ボタンを押す。.. main.jsファイルで参照何が未定義の場合、私はエラーが出ref = cordova.InAppBrowser.open('https://MYURLHERE:8484/home/login', '_self', 'location=yes');inappbrowserとChromeで異なる動作をするjavascript - 未定義のグローバル変数

を使用して開封しております。

ご注意くださいクロムブラウザで表示されているURLは正常に動作しています。 javascriptファイルは正しく読み込まれ、すべての変数が正しく定義されているようです。 - それは、私が定義されていない変数を持つ問題を見ているinappbrowserを使うときだけです。

私のコード(コルドバアプリ):

ref = cordova.InAppBrowser.open('https://MYURLHERE:8484/home/login', '_self', 'location=yes'); 
    var myInAppBrowserCallback = function(event) { 
     console.log(event.url, 'LOADED'); 
    }; 
    ref.addEventListener('loadstart', myInAppBrowserCallback); 
//Works fine. 

(私はInappbrowserで表示しようとしている実際のウェブサイトから)私のコード:

<script src="/Scripts/commonFunctions.js"></script> 
var p = 'Hello'; 

<script src="/Scripts/loginPage.js"></script> 
$('#btnLogin').on('click', function() { 
    alert(p); 
}); 
未定義との警告を返します

私が試してみました何:

  1. 広範囲のグーグル! (すべての答えは、javascriptが有効になっていないと思われます。404エラーやそのようなもの... jsファイルのグローバル変数が別のjsファイルで定義されていません)
  2. window.openを使用して、 ..サイトのローカルストレージを調べるためにスクリプトを実行する必要があるため、機能しません。
  3. コードワでアンドロイドプラットフォームを再インストールする。
  4. プラグインを再インストールする。
  5. ファイルがソースタブにあることを確認するために、インスペクタでクロムをチェックしてください。
  6. main.js内の関数も存在するかどうかを確認します。

おかげで、JFIT

答えて

0

概要: 問題はjavascriptのファイルのみinappbrowserで未定義だった '音声合成' をロードしようとしていたということでした。

詳細:

これで問題が混乱だったが、ここで私はデバッグすることがわかっステップです/解決:

あなたが見ることができるように電話でリモートデバッグを設定し
  1. chrome:// inspect /#デバイスを使用して電話機のコンソール

  2. Inappbrowserサイトのコンソールを表示します(これは、In AppBrowserインスタンスとは別のページとして表示されます)。

  3. 「未定義」エラーが消えるまで、どのファイルがロードされているかを特定し、ファイルを削除します。ライン/変数にその方法を見つけ

  4. 最新のファイルに戻って追加し、(document.ready前に様々な機能(特に関数/変数を取り除くためにも、グローバル変数)

  5. を開始する。それはのために便利でした私、私はファイルのほとんどを取り除いた後、実際の未定義の変数として、この方法が現れた。

  6. 私のエラーの実際の原因は、音声合成機能だった。

speechsynthesis行が削除され、残りのファイルがすべて読み込まれ、すべてが機能します。この関数は、デスクトップ/アンドロイド上のchromeではうまく動作しますが、inappbrowserでは正しく動作しません。

関連する問題