身体背景图像未在iPad和iPhone上显示

时间:2013-04-19 05:32:56

标签: php iphone html css ipad

我创建了一个在桌面上运行良好的网站,但在iPhone和iPad上没有显示背景图片。

我尝试删除选择图像的php脚本并重新编写代码以使用javascript来设置背景,在这种情况下,背景显示正确。

这是选择图像的php代码:

<?php
//if  doesn't exist, open the session
if(!isset($_SESSION))
{
    session_start();
}
//set coockie
setcookie("allweb","connected", time()+3600);
//if doesn' exist yet, I create a new array
if(!isset($_SESSION['arrayImage'])){
    $arrayImage = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
}else{// else I get from sessiom
    $arrayImage = $_SESSION['arrayImage'];  
}
//if already exist variable $picture, increment it
if(isset($_SESSION['picture']) && isset($arrayImage)){
    $picture=$_SESSION['picture'];
    $picture = $picture + 1;
    $_SESSION['picture'] = $picture;//save picture
}else{// else I create it
    $picture = 1;
    $_SESSION['picture'] = $picture;// save it
    shuffle($arrayImage);// I shuffle the array
    $_SESSION['arrayImage'] = $arrayImage;//save array to the session
}
?>

在php页面中,我在样式标签之间有这段代码:

<style type="text/css">
<?php 
if($picture < 15){//if I'm not out fo bound I continue
    echo 'body {background-image:url("images/bg'.$arrayImage[$picture].'hq.jpg");}';
}
else{// else I set picture to default value and restar the loop.
    $picture = 0;
    $_SESSION['picture'] = $picture;// save it
    echo 'body {background-image:url("images/bg'.$arrayImage[$picture].'hq.jpg");}';
}       
?>      
</style>

问题是图像没有立即显示,但我必须缩放页面然后才会出现。

1 个答案:

答案 0 :(得分:0)

我假设您已检查输出并且它是正确的。 如果是这种情况,请尝试从后台网址中删除引号:

body {background-image:url("images/bg'.$arrayImage[$picture].'hq.jpg");}

body {background-image:url(images/bg'.$arrayImage[$picture].'hq.jpg);}

顺便说一句,使用它们绝对有效,但这种情况非常罕见,iOS的Webkit渲染器有时甚至会因为有效的标记而产生一些非常错误的结果。不幸的是,它与Android的Webkit渲染器或任何x86 Webkit引擎不同,因此如果没有非常昂贵的Apple设备,这些问题就无法重现和深入检查。

使用JS完成的CSS修改,特别是框架(例如jQuery)的修改通常会在需要时智能地解析,从而导致语法更正,这就是为什么这些引号是我的主要嫌疑人。