我正在开发一个不适用于 Internet Explorer 的 Web 应用程序(Web 套接字、json、安全问题)。
现在,在我的应用程序使用 IE 之前:
如何拒绝来自 Internet Explorer 客户端的连接?
谢谢
我正在开发一个不适用于 Internet Explorer 的 Web 应用程序(Web 套接字、json、安全问题)。
现在,在我的应用程序使用 IE 之前:
如何拒绝来自 Internet Explorer 客户端的连接?
谢谢
创建一个中间件来解析request.META['HTTP_USER_AGENT']
. 如果您发现用户使用 IE,请给他一个好消息(例如通知或小警告框),告诉他您的网站没有针对他的浏览器进行优化 :)
middleware.py (有关更多信息,请参阅文档)
class RequestMiddleware():
def process_request(self, request):
if request.META.has_key('HTTP_USER_AGENT'):
user_agent = request.META['HTTP_USER_AGENT'].lower()
if 'trident' in user_agent or 'msie' in user_agent:
request.is_IE = True
else:
request.is_IE = False
# or shortest way:
request.is_IE = ('trident' in user_agent) or ('msie' in user_agent)
您的基本模板:
{% if request.is_IE %}<div class="alert">Watch out! You're using IE, but unfortunately, this website need HTML5 features...</div>{% endif %}
然后将其添加到您的中间件列表中。
如果您只想像我所做的那样显示一条消息,您可以使用 HTML 条件注释:
<!--[if IE]> <div class="alert">...</div><![endif]-->
还有另一种方法!只需使用设置变量DISALLOWED_USER_AGENTS,并确保在您的站点上安装了CommonMiddleware 。
例如
import re
DISALLOWED_USER_AGENTS = (re.compile(r'msie\s*[2-7]', re.IGNORECASE), )
干杯!