2011-08-18 84 views
2

我想创建一个移动网站,并且可以用CSS来完成,但服务器母版页必须位于它们当前的位置,我打算使用Javascript“风格切换器“来改变样式表,但大多数移动浏览器没有Java支持,所以有没有一种方法使用Java(或手机支持的任何其他”语言“,或者可以运行服务器端)来运行服务器还可以阻止加载某些页面元素(针对移动带宽问题)并更改几行主代码?在asp.net服务器的JavaScript中的CSS样式切换器

我想用这个(有一些修改)的: How to Use JavaScript to Change a Cascading Style Sheet (CSS) Dynamically

我不能使用PHP作为我们的托管服务提供商将不安装它。

我没有Asp.Net访问权限(作为用户),但有FTP访问权限。

+0

的JavaScript = java的..所以继续前进,用javascript;)说,大多数手机浏览器时,我想我们正在谈论的Opera Mobile /迷你,Safari浏览器Mobile和Android原生一个 - 他们都可以处理JS还不错: )你可以看看http://h4kr.com我通过js切换布局 - 只需用你的移动浏览器测试它 – walialu

+0

@Walialu你可以请发表一个样本,这样我就可以了解如何正确地停止其他元素从加载? –

+0

我会,但你必须先发布一个例子,然后我知道哪些元素来隐藏/停止加载; – walialu

回答

0
var isMobile = function() { 
    var w = window.innerWidth || document.body.clientWidth; 
    var o = 900; 
    if(w < o) { 
     return true; 
    } 
    else { 
     return false; 
    } 
}; 

和初始化FUNC

var init = function(){ 
    if(!isMobile()){ 
    // all your desktop stuff goes here 
    var desktopcss = document.createElement('link'); 
    desktopcss.rel = 'stylesheet';desktopcss.type = 'text/css'; 
    desktopcss.href='/desktop.css'; 
    document.getElementsByTagName('head')[0].appendChild(desktopcss); 
    } 
    else{ 
    // all your mobile stuff goes here 
    var mobilecss= document.createElement('link'); 
    mobilecss.rel = 'stylesheet';mobilecss.type = 'text/css'; 
    mobilecss.href='/mobile.css'; 
    document.getElementsByTagName('head')[0].appendChild(mobilecss); 
    } 
}; 

,并记住,如果你设置的东西

display:none; 
通过CSS

,它不会是加载,它不会是显示! !

+0

谢谢!你在创建代码方面做得非常出色! –

0

您可以使用CSS媒体查询来调整发出请求的设备的网站宽度。

+0

请看看:affinitysearch.com,你可以看到只是收缩它不会工作,我有移动版本在:affinitysearch.com/mobile/,除了aspx部分不能移动到移动目录或编辑为匹配移动网站,因为这将改变主要网站,我正在寻找的是类似于stackoverflow的移动版本,你可以看一个页面,它将被视为一个移动网站,同时仍然位于相同的URL,并且那么如果你转到你的计算机上的相同URL,它将正常显示。 –

+0

就我个人而言,我认为“响应式网页设计”从来不会出于这个原因,但如果你不能有一个单独的网站,那么你没有选择。 – IrishChieftain