功能不会在页面加载上运行

时间:2016-01-23 09:35:30

标签: javascript events smartsupp

我已经更改了一个在页面加载时加载的函数,但它不会这样做。

使用链接运行的original code

function updateBannerText(text) {
    smartsupp('banner:set', 'bubble');
    smartsupp('banner:update', { text: text });
});

<a href="javascript:updateBannerText('Welcome')">Welcome</a>,
<a href="javascript:updateBannerText('This chat is awesome')">This chat is awesome</a>

我的代码应该在页面加载时运行:

function updateBannerText(text) {
        smartsupp('banner:set', 'bubble');
        smartsupp('banner:update', { text: "{$Artikel->cName}" });
}
window.onload = updateBannerText;

我已将updateBannerText(text)更改为updateBannerText(),但无法运行它。

1 个答案:

答案 0 :(得分:1)

问题是Smartsupp小部件本身只是开始加载页面加载,所以你的window.onload函数在小部件正确初始化之前运行,因此没有任何效果。您可以通过延迟横幅更新来测试这一点,这应该会产生影响:

window.onload = function () { setTimeout(updateBannerText, 5000) }

要解决此问题,您应该将启动代码附加到适当的Smartsupp widget event,例如rendered event以更新横幅:

smartsupp('on', 'rendered', function() {
    updateBannerText('whatnot')
})