【发布时间】:2013-01-15 01:59:12
【问题描述】:
我很确定这是不可能的,但我只是想我会把它扔在那里。如果浏览器禁用了 JavaScript,我想知道控制器是否有办法(在呈现视图之前)。我相信其他人在 SEO 上也遇到过这个问题。
【问题讨论】:
标签: c# javascript .net asp.net-mvc browser
我很确定这是不可能的,但我只是想我会把它扔在那里。如果浏览器禁用了 JavaScript,我想知道控制器是否有办法(在呈现视图之前)。我相信其他人在 SEO 上也遇到过这个问题。
【问题讨论】:
标签: c# javascript .net asp.net-mvc browser
不。服务器无法查看客户端以确定浏览器启用了哪些功能。但是,如果禁用了 js,您可以使用 noscript 标记来呈现内容。
如果你想记录它是否启用了分析,那么一旦页面加载,在 javascript 中发送一个 ajax 调用怎么样?如果js被禁用,调用将无法通过。
【讨论】:
没有。只有当请求是通过 ajax 时,才会在标头中遇到任何有用的信息。
作为一种解决方法(和完全破解),您可以在 html 的最顶部放置一个脚本来设置 cookie 并刷新页面。然后后端可以检查该 cookie 并知道是否启用了 JS。
【讨论】:
不。您只能在视图至少渲染一次后才能知道。在这种情况下,您可以做的是发送一个 ajax 请求以确认 javascript 正在为此会话工作。
当然总有 noscript 标签:https://developer.mozilla.org/en-US/docs/HTML/Element/noscript
【讨论】: