【问题标题】:View desktop from mobile using a switch使用开关从移动设备查看桌面
【发布时间】:2014-05-07 09:13:22
【问题描述】:

我正在尝试在我的移动网页中嵌入一个“桌面视图”链接,然后如果用户希望撤销他们的决定,则在桌面链接上嵌入一个“移动视图”链接。

到目前为止,我已经能够成功添加 javascript 以忽略/绕过 CSS,该 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 {

谁能帮我解决这个问题?

【问题讨论】:

  • 是的,你知道了,需要更多关于桌面和移动版本的信息,以及你如何尝试这样做的示例
  • 我使用 CSS 设置屏幕尺寸,内置的 CMS JS 自己编写而不是硬编码,我没有指定任何移动/桌面设备,只指定屏幕尺寸。
  • JS... window.addEvent('domready', function() {
  • 我将使用这个 JS 示例发布另一个问题,因为这个评论框太小了!

标签: javascript html cookies content-management-system mootools


【解决方案1】:

这是关于拥有不同的样式表。一种用于非常动态的视图(移动视图),而与桌面版本相比动态性较低。一个简单的链接就可以了。例如,您可以在 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>

【讨论】:

  • 一开始我也是这么想的,但是屏幕尺寸已经设置好了,它会自动识别它是在 319x480 屏幕(移动)上查看的,并且不会忽略后台编写的 JS。跨度>
  • 我用我最近的一些 JS 示例再次问了同样的问题
【解决方案2】:

如果您不擅长编程,最好的选择是仔细阅读您的 CMS 文档(或使用其他支持该功能的 CMS)

【讨论】:

  • 它是我们在工作中使用的 CMS,我是编程新手,更喜欢设计,但我的老板给了我这个任务。当移动用户选择时,CMS 似乎没有任何选项可以忽略移动 css 并使用桌面 css
猜你喜欢
  • 2012-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-08
  • 2016-01-21
  • 2013-06-23
  • 2013-04-20
相关资源
最近更新 更多