Pet*_*ock 3 .net browser asp.net identify
过去几天我已经阅读了这个和许多其他链接。
问题是我需要为用户为 mysite.com 打开的每个选项卡或浏览器都有一个唯一标识符(示例站点名称)
我不能使用唯一的会话,因为当我打开 mysite.com 并在会话中选择了例如“胡萝卜”时,那么 mysite.com 的所有其他选项卡/浏览器现在在特定会话值中都有“胡萝卜”。
但是服务器显然仍然唯一地标识每个浏览器/标签。有没有办法获得这个唯一的浏览器/标签 ID,或者创建一个唯一的?
我不是指通过 JavaScript 自己生成唯一 ID,我在 StackOverflow 上看到了一些很好的例子。问题是我需要在每个母版页上实现它,并在母版/非母版页之间携带它。也例如在我的例子中,它不会工作,因为我可以打开浏览器,如果我在几个页面上运行它 20 次,它会生成 20 个不同的 ID,例如当我无法跨端口传输值时。
所以请不要浪费每个人的时间,这不是一个随机的 GUID 创建问题,这个问题涉及为每个选项卡/浏览器获取一个唯一的可重新创建的 ID(如果它丢失),最好通过到服务器的链接来识别。
这是你触及的一个大话题。如果您只需要在表单提交期间保留 ID,您可以采用客户端window.name属性的方法并使用window.onload来传播具有该值的隐藏字段。但是当用户关注超链接(点击网站上的链接)时,这将不起作用。onload:检查是否window.name设置;如果未设置,则分配一个 GUID。如果设置,则设置一个隐藏字段= window.name。因此,在提交时,您的表单将具有带有window.nameGUID的隐藏字段。
您也可以使用 HTML5window.sessionStorage来解决您的所有问题,但这在旧浏览器上不起作用。
如果您需要支持向后浏览器和非提交类型,那么您将需要在客户端编写一些非常复杂的 cookie/会话管理。不漂亮。只希望以上2个就足够了。
| 归档时间: |
|
| 查看次数: |
6223 次 |
| 最近记录: |