![](/img/trans.png)
[英]How can I Force desktop view on a mobile device from my HTML or JavaScript code
[英]How do I combine my “desktop view” html file with my “mobile view” jQuery mobile file?
为了详细说明我的问题,我设计了一个专门在桌面上查看的网站。 如果在移动设备上进行测试,它看起来不太好。 因此,我使用jQuery mobile为我的网站(包含所有相同的内容)制作了完全不同的布局(由于其简单性)。
我现在意识到可能有更好的方法来实现这一点,例如在我的CSS文件中实现移动视图,基于媒体查询,但这是我选择这样做的方式,并且更愿意坚持下去。
我想使用我的JavaScript文件来检测不同的屏幕大小,以便根据指定的屏幕宽度和高度显示桌面视图或移动视图。 截至目前,我的桌面视图和移动视图有两个不同的html文件,我知道这不好。
我不想要两个html文件,我想把两者结合起来! 这是我能够在.js文件中调用两个不同代码的唯一方法,对吗? 有谁知道如何做到这一点?
在我的移动视图文件中,我需要包含jQuery库。 没有这些,它将无法运作。 但是当我尝试在我的桌面视图文件中包含它时(因为我现在正在尝试组合这些文件),我只是单独测试了它,它完全弄乱了桌面上的视图。 我该如何解决这个问题? 除此之外,我假设我只是将代码与两个不同的代码分开,只要合并其余的代码,是吗?
例如,
<div id="desktop"> ..... </div> <!-- this is for desktop view -->
和
<div id="mobile"> ..... </div> <!-- this is for mobile view -->
拜托,任何帮助都会非常感激。 我试过研究这个,但我找不到任何具体到足以回答我的问题。
这是我的桌面视图文件的开头:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="hwk5.css">
<script type="text/javascript" src="hwk5.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
这是我的移动视图文件的开头:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<style>
img.fullscreen {
max-height:50%;
max-width:50%;
}
</style>
</head>
<body>
正如我在评论中所说,您可以通过PHP检测移动浏览并相应地将用户重定向到桌面或移动网站,但如果您真的想用jQuery执行此操作,则可以。
您需要检查页面宽度onReady和onResize:
$(document).ready(function(){resize();});
$(window).resize(function(){resize();});
function resize()
{
var mobileMaxWidth = 640; //Define this to whatever size you want
if($(window).width() > mobileMaxWidth)
{
$("div#desktop").show();
$("div#mobile").hide();
}
else
{
$("div#desktop").hide();
$("div#mobile").show();
}
}
至于jQuery弄乱你的桌面网站,你必须使用另一个DOM。 您是否正在导入MooTools或其他使用$
流行DOM? 如果是这样,您需要将jQuery代码显式标记为jQuery("selector")...
而不是$
或使用jQuery.noConflict
。
有关更多信息,请参阅此帖子。
我建议你写两个单独的CSS
文件...一个用于桌面和其他移动。 并根据当前屏幕大小使用javascript更改css
文件。
要实现此目的,您可以使用此脚本
<script type="text/javascript">
$(document).ready(function () {
changecss();
});
$(window).resize(function () { changecss(); });
function changecss() {
var windowwidth = $(window).width();
var windowheight = $(window).height();
if (windowwidth >= 1024 && windowheight >= 768) {
//alert('Screen size: 1024x768 or larger');
$("link[rel=stylesheet]:not(:first)").attr({ href: "Style2.css" });
}
else {
$("link[rel=stylesheet]:not(:first)").attr({ href: "Style1.css" });
}
}
</script>
HTML
<div>
The colour of this text will change.
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.