在Joomla中使用Javascript和PHP检测屏幕大小

时间:2012-05-15 07:17:18

标签: php javascript jquery joomla joomla-template

我有一个具有挑战性的问题(无论如何它对我来说都是:))

我正在为想要包含jQuery幻灯片的客户开发Joomla模板,我也使用响应式设计,最高可达480,高达800和超过801px。

我想要做的是设置3个幻灯片模块(为了方便客户端使用,一个用于图像480宽,一个用于图像740宽,一个用于图像940宽,然后我想称该模块取决于用户屏幕大小。我知道这需要在Joomla中使用php完成,并且它只是服务器端脚本而且我不是UA嗅探的粉丝。

这就是我的想法,请评论你的想法。

  1. 包含检测$ screenWidth变量是否设置的PHP函数

  2. 如果没有,请运行检测用户屏幕宽度的javascript,将此变量设置为URL(或以其它方式保存变量)。

  3. 运行AJAX页面重新加载

  4. 从网址中提取$ screenWidth变量。

  5. 原始的isset现在将返回true,以便页面继续加载。

  6. 然后使用该变量运行PHP代码以加载相应的幻灯片。

  7. 你怎么看?它会减慢页面的速度吗?重新加载是否会工作并将URL保留在joomla中?

    请让我知道你的想法并提出任何建议。

    由于

2 个答案:

答案 0 :(得分:1)

您确定需要重新加载页面吗?一旦通过AJAX调用从客户端获取screenWidth,您是否无法生成幻灯片HTML并将其发回?然后,客户端可以直接将其插入DOM,而无需重新加载页面,您将不必为维护状态而烦恼。

答案 1 :(得分:0)

有很多可能性,但我认为更简单更好。 我认为你应该执行以下步骤

  

编写一个启动javascript函数,检查屏幕宽度和高度(screen.availWidth和screen.availHeight)并将其发送到服务器并相应地创建幻灯片并发送回客户端