浏览器打开时加载

时间:2012-04-19 00:52:18

标签: javascript jquery firefox toolbar add-on

我做了一个特殊的按钮,通过使用这个js显示使用api的服务器状态,我的问题是我不能让这个东西在你第一次打开浏览器时自动加载,你必须实际点击按钮否则它不会开始运行。

function checkStatus(event)
{
    jQuery.getJSON("url",function(data){ 
        var button = document.getElementById("ServStat");
        if ( data.status == '1') { 
            jQuery('#ServStat').addClass('online').removeClass('offline');
            button.label = 'Online'; }
        else { 
            jQuery('#ServStat').addClass('offline').removeClass('online');
            button.label = 'Offline' 
        }
    });
}

欢迎任何想法,并提前感谢。

3 个答案:

答案 0 :(得分:2)

只需将代码添加到document.ready函数即可。它在文档完全加载时执行。

所以你的代码会变成类似的东西,

$(document).ready(function () {
    jQuery.getJSON("url", function (data) {
        var button = document.getElementById("ServStat");
        if (data.status == '1') {
            jQuery('#ServStat').addClass('online').removeClass('offline');
            button.label = 'Online';
        } else {
            jQuery('#ServStat').addClass('offline').removeClass('online');
            button.label = 'Offline'
        }
    });
});

您可以在此处获取更多详细信息:http://api.jquery.com/ready/

答案 1 :(得分:1)

$(function() {
  checkStatus();
});

答案 2 :(得分:0)

感谢所有人,我真的很高兴你花了很多时间和精力来回答我的问题,对网站来说是“新的”,让我告诉我在这长期第一印象之后:)。

关于这个问题,正如大多数人已经注意到我从实践中学习并且我真的没有深刻的理解,我尽可能多地关注并阅读我发现的一切,无论如何,我的朋友谁确实对此有深刻的理解注意到在我的xul文件中脚本设置如下:

<script type="application/x-javascript" src="chrome://neverendlessbar/content/serverstatus.js" />
<script type="application/x-javascript" src="chrome://neverendlessbar/content/jquery-1.7.2.js" />
<script type="text/javascript">
    $.noConflict();
</script>

当正确的方式是:

<script type="application/x-javascript" src="chrome://neverendlessbar/content/jquery-1.7.2.js" />
<script type="text/javascript">
    $.noConflict();
</script>
<script type="application/x-javascript" src="chrome://neverendlessbar/content/serverstatus.js" />

jQuery没有正确地舔。在我们修复了jQuery错误后,我们只添加了一个简单的“checkStatus();”在代码的最后,我们用这个:

function checkStatus(event)
{
    jQuery.getJSON("url",function(data){ 
    var button = document.getElementById("ServStat");
    if ( data.status == '1') { 
    jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');}
    else { 
    jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');}});
}
checkStatus();

第一次工作:D。

再次感谢大家,我希望有一天能够回报他们:D。

  

在阅读了epascarello回复后,我问道,确实“getElementById”是必要的。

最终法典

function checkStatus()
{
    jQuery.getJSON("url",function(data){ 
    if ( data.status == '1')     {jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');}
    else     {jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');}});
}
checkStatus();
{
    setInterval(changeState, 300000)
}