代码之家  ›  专栏  ›  技术社区  ›  Derek Adair

需要javascript-这可以通过服务器端语言实现吗

  •  0
  • Derek Adair  · 技术社区  · 15 年前

    我已经使用php/jQuery等开发了ajax应用程序框架。我想“要求”用户启用javascript才能使用该应用程序(它们都是内部应用程序,因此我们可以指定兼容性)。

    如何检测服务器端是否启用了javascript?请举例说明。

    5 回复  |  直到 15 年前
        1
  •  6
  •   Nick Craver    15 年前

    您无法检测到此服务器端,但是可以在客户端显示消息 <noscript> 标签,如下所示:

    <noscript>
       <div class="alert">You need to enable JavaScript to use this site.</div>
    </noscript>
    

    <noscript> 当客户机由于任何原因没有启用JavaScript时,就会出现标记,因此使用它们向它们呈现消息、元素等……只要给它一些样式,就可以了。

        2
  •  2
  •   Ignacio Vazquez-Abrams    15 年前

    你不能。你需要在客户端运行它,然后让它转到一个特定的URL,或者通过AJAX联系服务器通知它。

        3
  •  1
  •   Elzo Valugi    15 年前

    从来没有这样做过,但是考虑一下这个webservice场景,reduce和absurdum:

    1. 假设js被禁用并打印非js内容
    2. 注册ajax请求以防js处于活动状态,js将向服务器侦听器传递令牌
    3. 如果侦听器在合理的时间范围内接收到消息,则返回一个新内容并用它更改非js内容

    这样你就可以在这两种情况下都得到保护。另一种方法是常规方法,首先假设js已启用。顺便说一下,我想大约90%的webuser已经启用了js,甚至更多。

        4
  •  1
  •   Derek Adair    15 年前

    在一些创造性的思考。。。我想我会采用这个解决方案,但我希望得到反馈。

    在页面加载时使用JS设置cookie-在服务器端检测它是否存在


    对我来说,这似乎是可行的,因为它是超轻的重量,它很适合我的应用程序结构。偏离ajax调用结构的想法困扰着我。

        5
  •  0
  •   Napas    15 年前

    就在客户端做吧。如果javascript在上面,它会重定向到好的站点,否则它会显示带有错误消息的简单html页面。

    推荐文章