我正在尝试将“桌面视图”链接嵌入到我的移动网页中,然后在桌面链接上显示“移动视图”链接,如果用户希望改变他们的决定。
到目前为止,我已经能够成功添加javascript以忽略/绕过将在桌面或移动视图中设置页面样式的CSS,具体取决于您单击的链接,但我遇到的问题是cookie正在设置当用户首先选择“桌面视图”但未保留时。我正在使用布尔值检查cookie是否存在,如果不存在则应该创建cookie。我已经设置了Console.Log以显示某些方面是否正常运行并且看起来检查cookie是否已经存在被忽略,它只是每次都设置一个新的,这对用户的方式产生了不同的影响浏览网页。
window.addEvent('domready', function () {
if ($('FooterDesktopView')){
console.log("desktopagain");
var windowcookie = getCookie('NonResponsiveVersion');
if (windowcookie == true){
removejscssfile("//static.uk-plc.net/library-cms/abd/bab95b16-20ba-4090-b883-1bee04bc58fc.css", "css");
$$('.remove-css').addClass('displaynone');
$$('.load-css').removeClass('displaynone');
}
else {
$$('.remove-css').each(function (el) {
el.addEvent('click', function () {
console.log("desktop");
removejscssfile("//static.uk-plc.net/library-cms/abd/bab95b16-20ba-4090-b883-1bee04bc58fc.css", "css");
$$('.remove-css').addClass('displaynone');
$$('.load-css').removeClass('displaynone');
setCookie('NonResponsiveVersion', 'desktop', '1');
});
});
}
}
});
使用Colnsole.log我发现这部分被忽略了
console.log("desktopagain");
var windowcookie = getCookie('NonResponsiveVersion');
if (windowcookie == true){
removejscssfile("//static.uk-plc.net/library-cms/abd/bab95b16-20ba-4090-b883-1bee04bc58fc.css", "css");
$$('.remove-css').addClass('displaynone');
$$('.load-css').removeClass('displaynone');
}
else {
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
这是关于拥有不同的样式表。一个用于动态视图(移动视图),而不像桌面版一样动态。一个简单的链接就可以了。例如,您可以在href中包含一个变量。
<a href="?stylesheet=desktop">Desktop view</a>
然后,在服务器端,您可以使用脚本句柄来链接到哪一组样式表。
如果您不想在URL中使用GET变量(例如,为了更好地链接到朋友),您可以使用表单。
<form method="POST" action="">
<button type="submit" name="stylesheet" value="desktop">Switch to desktop</button>
</form>
答案 1 :(得分:-1)
如果您不擅长编程,最好的选择是仔细查看和阅读您的CMS文档(或使用支持该功能的其他CMS)