【问题标题】:Conundrum - need to get viewport size in PHP (or any other way around it)难题 - 需要在 PHP 中获取视口大小(或任何其他方式)
【发布时间】:2013-04-05 17:17:46
【问题描述】:

基本上,我目前有一个用 javascript 编写的网站,但我决定主要用 PHP 重写。我要替换的主要部分使用 spry 将 xml 数据集的值读取到 javascript 变量中。

带有 mySQL 的 PHP 可以轻松完成我使用 spry 的工作,但我还想将脚本的另一部分做成服务器端。

当前发生的情况是,当页面加载时,我的函数决定图片的大小,从而决定在服务器上获取的大小。有五个不同大小的文件,它会选择最小的一个,它不必放大(但可以缩小)。它将这些与 spry 中的一些信息结合起来,并设置一个 img 元素的 src,这是以前未设置的(这是我讨厌当前设置的一部分)。

我已经完成了谷歌搜索,我知道问题所在 - PHP 解析服务器端,此时它无法知道屏幕大小。

我可以不用 - 我会保留我现有的 javascript 来完成这项任务,这有​​点不稳定,或者只使用一种尺寸的图像,这只会让我的网站变得不那么好。

我只是想知道是否有任何专家在让 php 决定要嵌入哪个图像时有诀窍。我猜浏览器在第一次请求站点时没有发送任何内容..这会出现在我的谷歌搜索中..

我应该提一下,除了在我网站的所有页面上都有一个标签栏的简单事情之外,我没有做过任何 PHP,我使用 php 将它带入并更改所选标签的外观。

【问题讨论】:

    标签: php javascript viewport


    【解决方案1】:

    实际上有一种更简单的方法可以做到这一点。您可以设置 css 媒体查询以根据视口宽度加载不同的图像。

    PHP 对客户端了解不多。获取视口大小等信息很困难。

    【讨论】:

    • 不敢相信我以前错过了那些!感谢您引起我的注意。比更改 img 的 src 容易得多。如果我错了,请纠正我,但我认为这需要我使用带有背景图像的 div,而不是 img?因为我不认为这对 SEO 不太好。即便如此,感谢您的帮助,您不可能知道 SEO 是一个优先事项。我想我不能代表你,因为我刚加入该网站..
    • 您是对的,您需要使用带有背景图像的 div。除了被谷歌图片索引之外,我不确定你期望从图片中获得什么样的 seo 好处。
    • 啊,好吧,我是一个业余视觉艺术家,所以被谷歌图片索引会很好。我应该在我原来的问题中说明。
    • 您需要注意的一件事是谷歌机器人没有任何视口或可能无法运行 javascript。如果您希望图像被谷歌索引,您将必须有某种可供谷歌使用的后备,在此基础上您的解决方案将被用户使用。
    • 你是对的。在我当前的 javascript 版本上,没有图像被索引,因为在 javascript 起作用之前不存在。我一定会建立一个后备 - 没有视口时的默认图像大小。感谢您的帮助。
    【解决方案2】:

    你有几个选择:

    选项 1:输出一个带有一些 JS 的简单页面,该页面获取浏览器规范,然后进行重定向,将这些规范作为查询参数传递。例如

    http://example.com/stage2.php?x=1024&y=768

    这个 stage2 脚本然后可以根据传递的规范构建真实页面。

    选项 2:使用一些 AJAX 延迟加载。页面的主要内容获取规范,通过 AJAX 调用将它们传回,响应是 HTML 的其余部分,经过调整以反映这些规范。例如

    $('#body').load('example.com?x = ' + window.width + ......);
    

    【讨论】:

    • 感谢您的回答! AJAX 直接在我脑海中浮现,但第一个想法似乎很聪明。事实上,由于上​​下文是一个照片库,我可以通过让第一张图片加载默认大小来避免重定向,但使用 javascript 使用这些参数更改“下一步”按钮的 href。我认为我没有足够的代表来代表你
    猜你喜欢
    • 1970-01-01
    • 2021-08-15
    • 2019-11-18
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 2013-11-07
    相关资源
    最近更新 更多