Javascript在inappbrowser和Chrome中的表现不同-未定义的全局变量
我的问题是,当我使用inappbrowser打开我的网页时,主javascript文件似乎被忽略,即使它在我使用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
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);
});