Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果浏览器支持js,如何显示加载动画_Php_Javascript - Fatal编程技术网

Php 如果浏览器支持js,如何显示加载动画

Php 如果浏览器支持js,如何显示加载动画,php,javascript,Php,Javascript,如果浏览器支持js,我想显示加载动画。如果禁用了javascript,那么在本例中,图像将显示但不会隐藏。 为此,我在标记之后直接编写了这段代码 <?php $results = get_browser(); if ($results["javascript"] == 1) { echo '<div id="loading"><img src="core/design/img/load/load.gif"/></div>'; } ?> 在中未设置

如果浏览器支持js,我想显示加载动画。如果禁用了javascript,那么在本例中,图像将显示但不会隐藏。 为此,我在标记之后直接编写了这段代码

<?php
$results = get_browser();
if ($results["javascript"] == 1) {
echo '<div id="loading"><img src="core/design/img/load/load.gif"/></div>';
}
?>
在中未设置错误消息
browscap ini指令有任何实现我想法的建议吗?请提供帮助

您可以使用:

<body>
//set the div to hidden by default
<div id="loading" style="display:none"><img src="core/design/img/load/load.gif"/></div>
//place this code directly below the loading div, it will run before page/dom is loaded
<script type="text/javascript">
    document.getElementById('loading').style.display = 'block';
</script>
<script type="text/javascript">
    $(function() {
        //this will run after the page has loaded
        $('#loading').fadeOut(600);
    });
</script>
...

//默认情况下,将div设置为隐藏
//将此代码直接放在加载div下面,它将在加载page/dom之前运行
document.getElementById('loading').style.display='block';
$(函数(){
//这将在页面加载后运行
$('加载').fadeOut(600);
});
...
如果您想完全按照aquastyle.az的方式操作(尽管上述解决方案速度更快),可以执行以下操作:

<body>
<script type="text/javascript">
    //if JavaScript is enabled, append the loading div to be body
    $('body').append('<div id="loading"><img src="core/design/img/load/load.gif" /></div>');
</script>
<script type="text/javascript">
    $(function() {
        //this will run after the page has loaded
        $('#loading').fadeOut(600);
    });
</script>
...

//如果启用了JavaScript,则将加载div附加到body
$('body')。追加('');
$(函数(){
//这将在页面加载后运行
$('加载').fadeOut(600);
});
...

必须下载相应的INI文件并将其包含在PHP.INI文件中,才能使用
get\u browser
功能

与其试图弄清楚用户是否启用了javascript,不如从渐进增强的角度构建站点,这样无论用户的浏览器设置如何,它都适用于所有用户


或者,您可以要求javascript设置cookie,然后检查cookie是否存在于PHP中,这绝非100%万无一失的方法,但可以适用于您的情况。

在HTML中,您可以执行以下操作:

<html class="no-js">
...
最后,在CSS中,如果浏览器支持js,则显示加载图像,如果浏览器不支持js,则将其隐藏

.js #loading {
    display: block;
}
.no-js #loading {
    display: none;
}

这有意义吗?

但这不是解决办法。加载div仅在整页加载后显示。但是我想用这个加载隐藏整个加载过程,因为我误解了你的意图,我已经更新了我的代码,以便在加载页面之前执行显示。我显示的代码将与aquastyle.az中的示例一样工作。确保div和脚本正好位于
tagaquastyle.az是我的网站下方。请注意,加载条出现之前会有很大的延迟,如果您使用它,会自动将
js
类添加到
标记中,这样您就可以执行类似的操作。您会收到错误消息,因为您没有。也就是说,
get\u browser()
对于这种事情是不可靠的。它不测试浏览器的功能,只是根据用户代理字符串在列表中查找它们。它告诉您浏览器是否应该能够做到这一点,而不是它是否能够做到。几乎每天使用的每个浏览器都应该能够使用JavaScript;但是很多人都将其关闭,
get\u browser()
将产生假阳性。想了解更多细节。
$(window).load(function(){
    $('html').removeClass('no-js').addClass('js');
}); 
.js #loading {
    display: block;
}
.no-js #loading {
    display: none;
}