我有几个Swiffy(HTML5 SWF)动画,我只想根据用户的屏幕尺寸加载!
iv下面发现了一些JavaScript,如果screnn大于1400但它不能正常工作,它会加载!
<script language=javascript>
if(screen.Width>1400)
{
document.write("<?php include('/map/map4.php');?>");
}
else
{
document.write("<?php include('/map/map1.php');?>");
}
</script>
任何一个人都知道要用上述或其他方式做到这一点?
谢谢
答案 0 :(得分:5)
改变这个:
if(screen.Width>1400)
为:
if (screen.width > 1400)
<{1}}对象的 width
属性应为小写。
另请注意,当执行JavaScript时,ServerSide处理已结束,并且您的screen
仅输出文本而不是可执行的PHP代码,您可以使用jQuery的document.write
方法。
从服务器加载数据并将返回的HTML放入匹配的元素中。
load
答案 1 :(得分:0)
这些php文件的内容将被注入JavaScript文字,并可能破坏文字。你可以在浏览器中查看生成的html。
您可能想要做的是将两个php文件放入单独div中的代码中,然后使用CSS隐藏或显示相关的文件。
如果你这样做,你可以使用@media css查询根据窗口大小显示/隐藏部分,这将在用户调整浏览器大小时动态调整。
答案 2 :(得分:0)
如果您只有SWF对象,可以通过DOM Manipulation
将它们添加到文档中如果您想要一种更复杂的方式来检查用户屏幕是否为库jRespond,它将轮询浏览器大小并在用户调整浏览器大小时进行更新
答案 3 :(得分:0)
我面临同样的困境,所以我使用了这种解决方法,我希望它有所帮助。
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>435</title>
<script> if( document.cookie.indexOf("resolucion5") < 0) {
//alert("Cargando resolucion.");
if (screen.width > 1199){ document.cookie = "resolucion5=desktop; max-age=" + 5; }
if ((screen.width > 768)&&(screen.width < 1200)){ document.cookie = "resolucion5=tablet; max-age=" + 5; }
if ((screen.width > 380)&&(screen.width < 780)){ document.cookie = "resolucion5=cel; max-age=" + 5; }
if (screen.width < 381){ document.cookie = "resolucion5=mini; max-age=" + 5;
}
location.reload();
}</script>
<? if ($_COOKIE["resolucion5"]=="desktop"){$resolucion="";}
elseif ($_COOKIE["resolucion5"]=="tablet"){$resolucion="med";}
elseif ($_COOKIE["resolucion5"]=="cel"){$resolucion="med";}
elseif ($_COOKIE["resolucion5"]=="mini"){$resolucion="mini";} ?>
<link href="style<? echo $resolucion; ?>.php" rel="stylesheet">
<script src="somescript<? echo $resolucion; ?>.js" type="text/javascript"></script>
</head>
<body>
<? require("menu".$resolucion.".php"); ?><br>
<img src="welcome<? echo $resolucion; ?>.jpg">
</body>
</html>