这是有效的,但我的严格质量保证表明不存在控制台错误。
我正在为DOM编写iframe,并设置.onload事件;
var configureSDK = function () {
alert('lets configure');
}
var init = function (config) {
// pass configurables to global var
settings = config;
setupSDK(document);
function setupSDK(d) {
// setup iframe
sdkportal = d.createElement('IFRAME');
sdkportal.setAttribute('src', '//www.webtekkers.com');
sdkportal.setAttribute('width', '100%');
d.body.appendChild(sdkportal);
sdkportal.onload(configureSDK());
}
}
就像我说它有效,但Chrome正在展示;
未捕获的TypeError:对象#的属性'onload'不是函数
现在我知道,我应该为不同的浏览器设置单独的事件AddEventListener | attachEvent('load | onload'),但这更有用。
这只是Chrome错误还是我?
请不要使用jQuery替代
谢谢Will
答案 0 :(得分:5)
错误信息虽然难以理解,但却完全正确。 onload
是一个属性,在您为其指定内容之前,其值为undefined
。通常会为其分配对函数的引用。
您可能需要将onload
属性设置为configureSDK()
函数引用:
sdkportal.onload = configureSDK;
或作为函数调用(如果您在onlaod
中有更多工作要做):
sdkportal.onload = function() {
configureSDK();
};