javascript - 内容协商 - 在 Firefox 中显示图像

标签 javascript php css firefox content-negotiation

我有一个缩图画廊。单击其中之一后,将在新选项卡中打开一个全尺寸的等价物。假设我有很多版本的图像 .jpg,.gif 和 .png 。如何修改我的文件以便显示正确的(浏览器最需要的)文件?

我的 firefox 的偏好是:

user_pref("network.http.accept.default", "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg;q=0.8, image/gif, image/x-xbitmap, */*;q=0.1");

和我的 .php 文件:

<?php 
    $source = $_GET['source'];
    echo '<img src="images/watermarked/'.$source.'" alt="File not found."></img>';

?>

最佳答案

看起来,您的 PHP 文件没有用,因为您也可以在图库代码中执行此逻辑。

另外,我不明白为什么你不想发送最想要的格式。我宁愿根据内容选择我的格式,而不是浏览器。 JPEG 文件非常适合照片和大多数绘画,PNG 文件非常适合非矢量图形,带有用于矢量的 PNG 回退的 SVG 和用于动画的 GIF。我会选择这条路。此外,您不应发送非常大的文件,因为某些设备有限制。在大多数情况下,3 兆像素以下的图像似乎没问题。

无论如何,如果您可以根据请求 header 访问这些首选项,则可以用逗号分隔,过滤可用的文件格式,然后选择余数数组中的第一个值以获得所需的值。如果数组中没有值,则需要使用回退。

关于javascript - 内容协商 - 在 Firefox 中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20934074/

相关文章:

java - 我如何加密和解密在 PHP 和 JAVA 之间使用 AES/GCM/

javascript - 如何使用 jquery 获取警报的复选框值?

javascript - 我的日历控件中的 CSS z-index 问题

Javascript Tic Tac Toe 游戏不会验证对 Angular 获胜者

javascript - scrollOverflow/slimScroll 在 fullPage.js 中无法正常工作

PHP和mySQL登录安全疑虑

html - MacOS 的邮件程序正在反转我邮件的所有颜色

javascript - 显示/隐藏元素破坏风格

javascript - setInterval调用函数和html样式没有变化?

css - 在 View 中找不到存储在 vendor/images 中的 Rails 4 图像文件