在Django中,客户端浏览器是否启用了JavaScript?

3

有一个类似的问题,但答案并没有让我满意。我正在为我的Django应用程序设计视图,并且需要强制客户端启用浏览器JavaScript,但我不知道如何做到这一点。我应该检查Cookie以测试JavaScript是否已启用,还是内部有一个Django函数或其他东西可以使用?请注意,我想使用JavaScript进行设计,不要告诉我建立非JavaScript页面!


这些可能会回答你的问题,我猜Django没有提供测试它的方法,因为它也是服务器端的。 - xhallix
1
Django是一个服务器端框架,因此您无法从那里进行检查。您需要在客户端进行测试,并向服务器报告:更改隐藏的输入或其他内容。此外,您不能强制用户启用其JavaScript-这将使禁用它的目的失去意义。 - Timmy O'Mahony
3
我已经说过了,根据我的理解,你不能通过 PHP 来检查 JavaScript。你需要通过 Ajax 或类似的方式进行测试。这在 Django 中也一样。Django 和 PHP 都没有内置的方法来检查 JavaScript。 - Timmy O'Mahony
1
@TimmyO'Mahony 我想检查是否启用了显示一个视图,如果没有则显示另一个视图。 - hamidfzm
1
@HamidFzM,Christoph的第一个链接包含了如何使用JavaScript进行此操作的非常合理的描述,同时确认了Timmy告诉你的 - 也就是说,在服务器端没有可靠的方法可以这样做。 - cms_mgr
显示剩余6条评论
2个回答

3

来自评论:

我想要检查是否启用了显示视图,如果没有则显示不同的视图。

这是您的真正问题,如果您一开始就提出这个问题(而不是假设您必须从Django检查),那么在评论中就不会有争议。

如何将启用JavaScript的浏览器重定向到不同的视图

将以下内容放置在非JavaScript页面的头部:

<script type='text/javascript'>
   window.location = "/javascript_view.html";
</script>

不需要任何与Python、Django或cookie相关的内容。


谢谢,我认为我有一个好主意。我可以在我的模板中放置一段文字,告诉客户启用JavaScript,并且启用JavaScript后,我可以更改该部分的innerHtml并删除该文本! - hamidfzm

1

在这场长时间的讨论之后(请参见评论),只需阅读此帖子,这应该能回答您的问题,因为您特别要求了一些关于Django的示例。

Django检查JavaScript是否开启


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接