【问题标题】:how to code for users with disabled cookies and popups如何为禁用 cookie 和弹出窗口的用户编写代码
【发布时间】:2014-05-14 02:13:57
【问题描述】:

情况如下:我正在使用 ASP.NET、VB.NET 和一些 javascript/jquery 重新设计我们公司面向公众的网站。我添加的一些功能需要页面重新加载(注册为弹出窗口)和 cookie。如果一切都启用,效果很好。但是我注意到在某些浏览器(例如 Firefox)上,我仍然会收到提示以确认这些操作、保留这些 cookie 等。现在我可以为不会或无法启用这些功能的用户编写一些更简单的页面的意外事件,但是我想找到一种方法来尽可能简单地启用全部功能。从我读过的内容来看,我实际上无法像通过 web.config 文件中的设置强制浏览器文档模式那样强制它发生,但我希望有某种方法可以给他们一个点击按钮(或类似的东西)它将实现我需要的东西。有没有办法以编程方式做到这一点?我正在寻找的是一些可以进行更改的代码,而不是指示它们进入例如Internet Explorer 安全设置,即使不是不可理解,大多数最终用户也会觉得乏味。

建议?

【问题讨论】:

    标签: javascript asp.net vb.net cookies popupwindow


    【解决方案1】:

    您可以避免使用 cookie。将 Session 或数据库后端用于通常使用 cookie 的事情。对于弹出窗口,请使用覆盖的 div,例如 Ajax Control Toolkit Modal Popup ExtenderjQuery UI Dialog,而不是启动新的浏览器窗口。

    但实际上,ASP.NET 是为使用 cookie 而设计的。如果您的用户没有使用它们,请告诉他们他们正在惩罚自己。

    【讨论】:

    • @Diodeus 这个问题是 PHP 特有的。这个答案是关于 ASP.NET 的。在这种情况下并不是很有用。
    • @mason 我试图在浏览器端保留一些信息,以便回访者不需要多次输入其他信息;我知道会话变量的效果更好,但如果我们希望它保持比当前浏览会话的持续时间更长,这不是一个选择。
    • 就像我说的那样,如果您不想使用 cookie,则需要将这些值保留在数据库中。你不能两全其美。
    • 没有cookie,一旦用户登录,您打算如何维护身份验证?即使您使用 Session State,Session 也使用 cookie 来存储 Session ID。 注意: 无 cookie 方法(使用 URL 存储 Session ID)很久以前就被弃用了,因为它会产生太多问题。 基本上,您无法避免在 ASP.Net 中使用 cookie,尽管您可以避免在 ASP.Net MVC 中使用会话状态和视图状态。
    【解决方案2】:

    出于安全原因,某些浏览器功能仅供用户配置。您无法提供更改这些设置的按钮,因为它们将无法由用户配置。

    你所能做的就是警告用户。

    【讨论】:

      【解决方案3】:

      由于安全原因,JavaScript 无法更改客户端浏览器的设置。否则,所有的地狱都会崩溃。

      注意:如果您创建一个可执行程序,并且用户在他/她的计算机上运行,​​则可以。

      但是,您永远不应该更改用户的浏览器设置。

      相反,您应该向用户发出警告和指示,这是正确的做法。

      禁用 Javascript

      禁用 Cookie

      【讨论】:

      • 我认为他没有提到他担心用户禁用 JavaScript。只是 cookie 和弹出窗口。
      猜你喜欢
      • 2016-12-17
      • 1970-01-01
      • 2022-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-04
      相关资源
      最近更新 更多