我可以手动触发 setOnLoadCallback 吗?

Can I manually trip setOnLoadCallback?

我有一个使用 Google 图表的网站,并且我最近添加了平滑的页面过渡以使其导航更加有趣,但由于这些平滑的变化,setOnLoadCallback 不是射击,所以我的图表没有被绘制。

此行永远不会触发: google.setOnLoadCallback(drawChart);

有没有办法手动触发这个以便绘制图表?

您可以在此处查看该站点:

http://www.gta-bawsaq-billionaire.com/

如果您导航到股票页面,您将看不到任何图表,但如果您刷新它就会出现。

例如,通过单击 PS3 导航到 http://www.gta-bawsaq-billionaire.com/stock/ps3/BET,然后单击 Betta Pharmacuticals。不会出现图表。单击上面的 link,但是(或在页面上按 F5)将出现图表。

我通过更改有问题的行解决了这个问题:

google.setOnLoadCallback(drawChart);

$(document).ready(drawChart);

然后使用这段代码手动触发 $(document).ready()(取自 here);

;(function($, undefined) {
    var isFired = false;
    var oldReady = jQuery.fn.ready;
    $(function() {
        isFired = true;
        $(document).ready();
    });
    jQuery.fn.ready = function(fn) {
        if(fn === undefined) {
            $(document).trigger('_is_ready');
            return;
        }
        if(isFired) {
            window.setTimeout(fn, 1);
        }
        $(document).bind('_is_ready', fn);
    };
})(jQuery);