Javascript在inappbrowser和Chrome中的表现不同-未定义的全局变量

Javascript在inappbrowser和Chrome中的表现不同-未定义的全局变量,javascript,android,inappbrowser,Javascript,Android,Inappbrowser,我的问题是,当我使用inappbrowser打开我的网页时,主javascript文件似乎被忽略,即使它在我使用ref=cordova.inappbrowser.open('https://MYURLHERE:8484/home/login“,”自我“,”位置=是“ 我正在使用chrome://inspect/#devices检查控制台时,我会在按下按钮时出错。。main.js文件中引用的任何内容都未定义。。而自动完成和按钮的实际代码似乎正在执行 请注意在chrome浏览器中查看url时,url

我的问题是,当我使用inappbrowser打开我的网页时,主javascript文件似乎被忽略,即使它在我使用
ref=cordova.inappbrowser.open('https://MYURLHERE:8484/home/login“,”自我“,”位置=是“

我正在使用
chrome://inspect/#devices
检查控制台时,我会在按下按钮时出错。。main.js文件中引用的任何内容都未定义。。而自动完成和按钮的实际代码似乎正在执行

请注意在chrome浏览器中查看url时,url工作正常。javascript文件似乎加载正确,所有变量定义正确。-只有在使用inappbrowser时,我才能看到未定义变量的问题

我的代码(cordova应用程序):

我的代码(来自我试图在AppBrowser中查看的实际网站):


var p='Hello';
$('btnLogin')。在('click',function()上{
警惕(p);
});
返回未定义的警报

我所尝试的:

  • 广泛的谷歌搜索!(所有答案似乎都与javascript未启用有关..或404错误或诸如此类..与一个js文件中的全局变量在另一个js文件中未定义无关。)
  • 正在使用window.open删除应用浏览器中的内容。。无法工作,因为应用程序需要执行脚本来检查站点的本地存储
  • 使用cordova重新安装android平台
  • 重新安装插件
  • 在inspector中检查chrome以确保文件位于“源”选项卡中(它们是)
  • 检查main.js中的函数是否也存在(确实存在)
  • 谢谢,JFIT

    摘要: 问题是javascript文件试图加载“SpeechSynthesis”,该文件仅在inappbrowser中未定义

    详细信息:

    这个问题令人困惑,但以下是我找到的调试/解决步骤:

  • 在手机上设置远程调试,以便您可以使用chrome://inspect/#devices

  • 查看inappbrowser站点的控制台(它将显示为inappbrowser实例的单独页面)

  • 识别正在加载的文件并删除文件,直到“未定义”错误消失

  • 重新添加到最近的文件中,并开始删除各种函数(尤其是document.ready之前的函数/变量(也包括全局变量))

  • 这样找到行/变量。这样对我来说很方便,因为在我删除大多数文件后,实际的未定义变量出现了

  • 我出错的实际原因是speechSynthesis功能

  • speechsynthesis行被删除,我读取了所有剩余的文件,一切正常。该功能在桌面/android上的chrome中运行良好,但在iApp浏览器中不起作用。

    摘要: 问题是javascript文件试图加载“SpeechSynthesis”,该文件仅在inappbrowser中未定义

    详细信息:

    这个问题令人困惑,但以下是我找到的调试/解决步骤:

  • 在手机上设置远程调试,以便您可以使用chrome://inspect/#devices

  • 查看inappbrowser站点的控制台(它将显示为inappbrowser实例的单独页面)

  • 识别正在加载的文件并删除文件,直到“未定义”错误消失

  • 重新添加到最近的文件中,并开始删除各种函数(尤其是document.ready之前的函数/变量(也包括全局变量))

  • 这样找到行/变量。这样对我来说很方便,因为在我删除大多数文件后,实际的未定义变量出现了

  • 我出错的实际原因是speechSynthesis功能

  • speechsynthesis行被删除,我读取了所有剩余的文件,一切正常。该功能在桌面/android上的chrome中运行良好,但在iApp浏览器中不起作用

    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.
    
    <script src="/Scripts/commonFunctions.js"></script>
    var p = 'Hello';
    
    <script src="/Scripts/loginPage.js"></script>
    $('#btnLogin').on('click', function() {
        alert(p);
    });