我将客户网站变成了响应式网站,他们的主页内容中有很多vbscript。在移动宽度时,他们删除了大量内容,这意味着有很多代码被执行但由于display:none
当你达到最小宽度768px时,有没有办法运行vbscript代码?
我考虑使用javascript获取屏幕宽度并将其存储为cookie并使用vbscript获取cookie以获取屏幕宽度:
<SCRIPT LANGUAGE="javascript">
var width = screen.width;
document.cookie = 'YourDomain=ScreenWidthB='+width;
</SCRIPT>
<%Dim ScreenWidth%>
<%ScreenWidth=request.cookies("YourDomain")("ScreenWidthB")%>
但我觉得可能有更好的解决方案。另外上面的代码给出了我认为我的显示器的宽度,而不是浏览器的宽度
答案 0 :(得分:3)
这不是你用任何服务器端语言做的事情。
您可以使用Bootstrap Grid System,它具有内置网格系统来处理响应大小调整。
或者您可以使用CSS来定义具有特定视口大小的元素的样式,使用CSS @media
标记:
你的CSS看起来像这个例子:
div {width:100px;}
@media (min-width:768px) {
div { width: 50px; }
}
这样做会使所有div的宽度为100px,但当浏览器为768px
或更大时,它会将div大小更改为50px
,如@media
中所定义的那样1}}标签。
因此,您可以使用VBScript在页面中生成CSS脚本,而无需编写任何JavaScript代码。但Bootstrap可能是您轻松/无缝地构建响应式设计的最佳选择。你可能想看一下。
编辑:Since OP has clarified not to even load the content
您可以在javascript中创建一个cookie,并在VBScript中读取它以检查视口。
您可以使用jQuery
:
$(window).resize(function(e){
var w = $(this).width();
if(w>768) document.cookie = "viewport=768;";
else document.cookie = "viewport=;";
});
这将在用户调整窗口大小的任何时候绑定事件侦听器,检查它的大小,如果超过768px,它将写入cookie或如果没有则为空。
然后使用Request.Cookies("viewport")
或者更好,因为您关注性能,您可以在达到特定视口大小时使用Ajax构建页面。
同样,您可以使用jQuery
来绑定窗口调整大小事件。
contentloaded = false;
$(window).resize(function(e){
var w = $(this).width();
if(w>768 && !contentloaded) {
$.get(url,function(data){
$("div").html(data);
contentloaded = true;
});
}
});
我会使用ajax来执行此操作,因为我想要显示内容,而无需用户必须使用Cookie解决方案刷新屏幕。