您可以设置自己的窗口名称,确切的语法现在使我无所适从,但是您可以使用当前时间和会话ID在窗口加载时创建唯一的ID,然后使用该ID
可以通过在javascript window.open()函数中设置名称的方式进行此操作(但是您可以将其设置为self,而不是新窗口)
谷歌搜索显示:
self.window.name = myclass.getUniqueWindowId(thisSession);
更新
关于您需要从刷新保存到刷新,我做了一些测试,它看起来从刷新保存到刷新。使用Firefox 3,在初始加载时,窗口名称为空白,然后一遍又一遍地按CTRL +
R,然后填充窗口名称。然后我注释掉了设置的名称代码并重新加载,它仍然保留了该名称。
<script type="text/javascript"> alert( self.window.name ); self.window.name = "blah";</script>
更新
我必须注意到以下有关jQuery’jquery-session’插件的评论,该评论确实有效,并且提供的功能比这里讨论的更多。
尽管 ,但也应该明确指出它依赖HTML5的Web存储, 而较旧的IE 版本 不支持 。
企业仍然严重依赖IE 7(在巴西此处为“及以下”)。
基于
self.window.name针对所有不符合HTML5的解决方案,我提供了以下代码段作为跨浏览器解决方案:
<script src="http://pre.jquery.com/jquery-latest.min.js" type="text/javascript"></script><script language="javascript" type="text/jscript"> //---------------------------------------------------------------------- //-- guarantees that window.name is a GUID, and that it would //-- be preserved whilst this window's life cicle //---------------------------------------------------------------------- //-- window.name will be set to "GUID-<SOME_RANDOM_GUID>" //---------------------------------------------------------------------- $(window).load( function () { //---------------------- var GUID = function () { //------------------ var S4 = function () { return( Math.floor( Math.random() * 0x10000 ).toString(16) ); }; //------------------ return ( S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4() ); }; //---------------------- if (!window.name.match(/^GUID-/)) { window.name = "GUID-" + GUID(); } } ) //--------------------------------------------------------------------</script>我在这里找到了GUID函数(为此我提出了一些代码清除的建议)。



