繁体   English   中英

打开浏览器时加载

[英]Load when the browser is open

我做了一个特殊的按钮,通过使用此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' 
        }
    });
}

任何想法都欢迎,并在此先感谢。

只需将代码添加到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/

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

谢谢大家,我真的很感激您花时间和精力来回答我的问题,我对网站“是新的”,并让我告诉我对我的第一印象是长期的:)。

关于这个问题,正如你们中的大多数人已经注意到我从实践中学到的东西,而我并没有真正的深刻理解,我会尽我所能地注意并阅读我发现的所有内容,无论如何,我的朋友确实有一个对此的深入了解注意到,在我的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)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM