镀铬抛出错误与onload和加载功能

时间:2012-09-26 13:02:59

标签: javascript google-chrome iframe onload google-chrome-devtools

这是有效的,但我的严格质量保证表明不存在控制台错误。

我正在为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

1 个答案:

答案 0 :(得分:5)

错误信息虽然难以理解,但却完全正确。 onload是一个属性,在您为其指定内容之前,其值为undefined。通常会为其分配对函数的引用

您可能需要将onload属性设置为configureSDK()函数引用:

sdkportal.onload = configureSDK;

或作为函数调用(如果您在onlaod中有更多工作要做):

sdkportal.onload = function() {
  configureSDK();
};