Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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 防止为启用javascript的用户加载图像_Php_Javascript_Jquery_Ajax - Fatal编程技术网

Php 防止为启用javascript的用户加载图像

Php 防止为启用javascript的用户加载图像,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我陷入了一种鸡蛋的境地。 我有一个有很多图片要加载的页面,我编写了一个加载滚动脚本,就像Facebook或Google images一样,所以当用户到达页面底部时,下一组图片被加载 因为服务器端的图像加载有点重,可能会减慢网站的速度,所以我只需将所有图像加载并存储在缓存文件中,加载到页面中,然后使用javascript,删除所有图像,只保留前几个图像,然后逐渐加载其余图像 现在我遇到的第一个问题是,即使使用javascript删除了图像,浏览器仍会继续加载图像。为了解决这个问题,我在我不想加载的

我陷入了一种鸡蛋的境地。 我有一个有很多图片要加载的页面,我编写了一个加载滚动脚本,就像Facebook或Google images一样,所以当用户到达页面底部时,下一组图片被加载

因为服务器端的图像加载有点重,可能会减慢网站的速度,所以我只需将所有图像加载并存储在缓存文件中,加载到页面中,然后使用javascript,删除所有图像,只保留前几个图像,然后逐渐加载其余图像

现在我遇到的第一个问题是,即使使用javascript删除了图像,浏览器仍会继续加载图像。为了解决这个问题,我在我不想加载的图像中添加了一个css类,并将它们设置为DisplayNone,然后使用javascript将其删除

但我仍然不希望页面是非javascript用户,也不希望Crawsler能够看到整个页面。无法找到一种在没有javascript的情况下删除此“无显示”的方法


提前感谢。

为什么不直接使用ajax加载下一批? 通过这种方式,它被加载到段中,加载是分散的,您不需要进行困难的标记

我自己的jquery示例说明了我在这类情况下使用的方法。 我有一个php文件,它根据在我的mysql
select….中翻译的“pagenumber”来决定需要呈现的内容。。。。。限制$pagenumber,15

           <script type="text/javascript">
    alreadyloading = false;
    nextpage = 1;

    $(window).scroll(function() 
        {
        if ($('body').height() <= ($(window).height() + $(window).scrollTop())) 
            {
            if (alreadyloading == false) 
                {
                var url = document.location.href + "/ajaxload/" + (nextpage * 15);
                alreadyloading = true;
                $.ajax(url).done(function(data) 
                    {
                    obj = document.getElementById('images');
                    obj.innerHTML += data;
                    alreadyloading = false;
                    nextpage++;
                    });
                }
            }
        });
    </script>

alreadyloading=false;
下一页=1;
$(窗口)。滚动(函数()
{

如果($('body')。高度()那么,你的实际代码是什么?我们无法帮助/修复我们看不到的内容。浏览器在加载
标记中找到的图像URL时往往非常积极,不管元素是否可见。在
标记中放置无JS标记可能会有效,但可能不会。您好,我实际上使用ajax加载下一批,但我首先看到了我的脚本所做的是:1)加载完整的缓存文件。2)删除未使用的图像删除javascript 3)滚动时根据需要在缓存文件中重新加载一组图像。但是,如果没有javascript和搜索引擎爬虫,我不希望在一个页面上为用户显示所有图像。这非常简单。使用noscript标记作为机器人等的完整页面。这是应该采用的方式。B启用javascript的Rowser会忽略noscript标记中的所有内容。简单的测试方法:Google chrome,右键单击inspect元素。单击网络面板并保持打开状态。然后加载不带ajax的页面和noscript标记中的所有图像。不应加载任何图像。如果确认,只需添加noscript标记。如果没有,请返回嗯,我会帮助你思考。嗨,我想我可以从中有所收获,明天我会再思考一下。谢谢。