如果他们从旧浏览器访问我网站上的任何页面,我想向用户展示自定义的“升级浏览器”模式对话框。
我知道如何检测浏览器但是 - 我无法弄清楚将代码放在何处以显示模式以及如何执行此操作。 ApplicationController before_filter可以渲染一个调用.modal('show')的js吗?还有其他方法吗?纯粹的js?
答案 0 :(得分:2)
使用Javascript可以最恰当地解决这个问题。
将modernizr.js添加到您的项目中,并将此javascript插入您的application.js:
Modernizr.load([
{
test: Modernizr.cssgradients,
nope: function () { alert('Sorry, your browser does not support a required feature of this site. Please upgrade or use another browser.'); }
}
]);
改变" Modernizr.cssgradients"你需要什么功能。
如果您不希望将此作为“警告”#34;,则可以使用noty.js之类的内容,将以上alert
方法替换为:
noty({text: 'Sorry, your browser does not support a required feature of this site. Please upgrade or use another browser.'});
答案 1 :(得分:0)
将div / modal放置在布局文件中(app / views / layouts / application.html.erb,最有可能),并根据您的需要将其包装在rails条件中,如下所示:
<body>
....
<% if (old_browsers.include?(current_browser) %>
<div class="old-browser-modal">
....
</div>
<% end %>
</body>