phonegap build Uncaught ReferenceError: onLoad is not defined
Posted
技术标签:
【中文标题】phonegap build Uncaught ReferenceError: onLoad is not defined【英文标题】: 【发布时间】:2016-01-19 19:38:56 【问题描述】:构建一个 Phonegap Build 应用程序并突然遇到一个奇怪的问题。我在 Chrome 检查中收到以下错误:
Uncaught ReferenceError: onLoad is not defined
这是我的代码:
function onLoad()
document.addEventListener("deviceready", onDeviceReady, false);
确实在 onDeviceReady 内部,我做的第一件事是alert("hello");
,但我从未看到警报。
来电者如下:
<body onload="onLoad()">
【问题讨论】:
您所拥有的不会引发 ReferenceError。只有在函数不在范围内的情况下 调用 onLoad 才会导致这种情况。该函数和您的调用是否在同一范围内? 缩进表明onLoad
是在另一个函数中定义的(或者只是格式错误?)。您确定调用者可以访问声明onLoad
的范围吗?
@Robusto 已编辑以包含调用者。
您的onLoad()
必须在 DOM 完成加载之前可用。
您的 index.html 中有内容安全策略元标记吗?
【参考方案1】:
看起来您正在从标记中调用“onLoad”函数。如果到那时你的脚本还没有加载,那么这个函数确实会抛出一个错误。
更好的方法是在窗口中添加一个事件侦听器,并在触发 onload 时运行您的脚本。
请参阅Add event handler for body.onload by javascript within <body> part 了解更多信息。
【讨论】:
【参考方案2】:也许 onLoad 函数不在调用它的同一范围内。谁在调用“onLoad”函数?
【讨论】:
您是否将那段代码包装在 是的,它包含在脚本标签中。 它应该可以工作......这正是你想要的docs.phonegap.com/en/4.0.0/cordova_events_events.md.html, 这正是我所拥有的。从字面上看,唯一的区别是我在 onDeviceReady 中有代码,而不是空的。 你能把你的代码发给我吗?也许我可以更好地帮助你以上是关于phonegap build Uncaught ReferenceError: onLoad is not defined的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap build 本地发布版本(不含Phonegap Build)
PhoneGap.Build 示例 com.facebook.sdk 错误 2
reactjs - 在 npm run build 得到 Uncaught TypeError: Super expression must be null or a function [重复]