【问题标题】:A way to prevent a mobile browser from downloading and displaying images一种防止移动浏览器下载和显示图像的方法
【发布时间】:2010-09-15 16:57:21
【问题描述】:

有没有一种简单的方法来阻止浏览器下载和显示图像,最好是通过一些魔术样式标签或 javasctipe。

问题是,我想稍微调整一下公司的网站,使其更易于通过移动设备使用。该公司是一家游戏公司,它的主页上有大约 5MB 的图像(而且这些图像是无法触摸的)。他们已经在我的 dsl 上显示出非常慢的速度,对于那些为每 MB GPRS 付费的人来说,他们可能是杀手;)

页面的代码不是我的,也不应该动(其实应该是从零开始写的,但现在不是我的姿态):)

我在考虑两种解决方案:

1)如果有某种样式标签(或者可能是 javascript?可以在移动浏览器上运行的标签)会阻止浏览器下载图像并强制显示 alt 参数,我可以简单地附上这个如果我发现用户代理是一些已知的移动设备,则风格。 或 2) 我可以稍微调整网络服务器以检查用户代理标头,如果客户端请求图像(.png、.gif 和 .jpg),则改为发送 404。这有一个缺点 - 如果他真的想要,我想允许用户查看图像。

似乎第一个解决方案是最好的——你们怎么看?有没有一种javascript方法可以做到这一点?

我可以尝试构建文档 DOM,然后获取所有 <img> 元素,并用一些占位符替换它们的 src,但这适用于大多数移动浏览器(我想是 Opera Mini,Windows Mobile 的东西,基本的 Symbian诺基亚浏览器)?在移动设备上使用文档 DOM 是否是一个很好的解决方案(老实说,我不确定它的内存和 CPU 要求)。

【问题讨论】:

  • 您使用的是哪个平台?如果是 ASP.NET,您是否有权访问 App_Browsers 文件夹?

标签: javascript http-headers mobile-website


【解决方案1】:

这就像欺骗您的用户代理。如果他们真的想要完整版,就给他们。也许向黑莓用户添加一个建议,向制造商抱怨缺少这样的选项。

【讨论】:

    【解决方案2】:

    您可以使用 htaccess 重定向来自移动浏览器用户的图像请求。我没有对此进行测试,但它应该可以工作:

    RewriteCond %{HTTP_USER_AGENT} (nokia¦symbian¦iphone¦blackberry) [NC] 
    RewriteCond %{REQUEST_URI} !^/images/$
    RewriteRule (.*) /blank.jpg [L]
    

    此代码将诺基亚、塞班、iphone和黑莓对图像文件夹中文件的所有请求重定向到空白图像文件。

    【讨论】:

      【解决方案3】:

      为什么不使用alternative style sheets?我只是不知道移动浏览器对它们的支持程度。

      您可以为移动设备指定单独的 css:

      <link rel="stylesheet" media="screen,projection,tv" href="main.css" type="text/css">
      <link rel="stylesheet" media="handheld" href="smallscreen.css" type="text/css">
      

      在该 css 中,您将覆盖 &lt;img&gt; 和所有背景图片的显示。

      【讨论】:

      • 是的,问题仍然是移动浏览器如何处理它,我会检查你。设置显示:无会阻止浏览器下载图像吗?还是会被下载,只是不显示?
      • 如果您覆盖背景图像属性,它们不会被下载。对于 img 标记,恐怕它取决于浏览器……尽管任何值得他的盐的开发人员应该以某种方式实现它,即只下载显示的图形。
      【解决方案4】:

      我不会在移动浏览器中依赖 javascript 或任何其他客户端方法。大多数移动浏览器对 javascript 的支持不够好。

      一些服务器端“分支”可能是要走的路。并且不要忘记禁用 css 背景图像。

      【讨论】:

        猜你喜欢
        • 2013-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-15
        • 2017-11-13
        • 1970-01-01
        相关资源
        最近更新 更多