在我的Rails 5应用程序中,如果用户在平板电脑上以纵向方向查看它,而不是在平板电脑上查看平板电脑,我想制作菜单显示选项。
我使用Browser gem来检查此人是否在平板电脑上。
我的观点如下:
<nav class="navbar">
<% if browser.device.tablet? %>
<li>
<%= link_to "Shop", shop_path %>
</li>
# how do I check if someone is viewing in portrait orientation?
<li>
<%= link_to "About", about_path %>
</li>
# end portrait orientation
<% end %>
</nav>
有没有办法使用Ruby检查页面方向?谢谢!
答案 0 :(得分:1)
我不知道有任何方法可以检测Ruby的方向,但您可以使用jQuery Mobile,使用orientationchange
事件:
$(window).on('orientationchange', function() {
// your code...
});
例如:
$(window).on('orientationchange', function() {
if(window.orientation == 0) {
// 0 is for portrait
$('portrait-only').show();
} else {
$('portrait-only').hide();
}
});
现在,在您的表单上,将id
添加到<li>
标记:
<li id="portrait-only">
<%= link_to "About", about_path %>
</li>
每次旋转设备时都会隐藏/显示该元素。
要在初始加载时检测,只需在加载时检查window.orientation
:
$(document).ready(function() {
if(window.orientation == 0) {
// same as above
}
)};