2014-02-06 24 views
1

很明顯,IE8對每個標籤頁的新會話數有限制。按照設計,IE8 +不允許自動爲每個選項卡創建新會話。我明白爲什麼這樣設計,但我認爲微軟的IE團隊忽略了用戶/會話的所有情況。Internet Explorer 8+ - 每個標籤的新會話數

有一個IE8菜單選項「文件 - >新建會話」,它創建了我需要的功能。

不幸的是,我的用戶無法接受使用「文件 - >新建會話」的培訓。我必須嘗試以編程方式在代碼中完成此操作。

我的問題是...什麼是「文件 - >新會議」在封面下做什麼?我需要複製此菜單功能,但無法找到任何有關如何操作的好例子,而無需重新發明輪子。很明顯,IE8可以很容易地創建新的會話(每個標籤),但是如何在代碼中?

我不想更改web.config或將GUID放入我的查詢字符串中,因爲這對於我們的用戶是不可接受的,所以請不要這樣做。

任何幫助表示讚賞。

**編輯:我的情景是,我們的用戶登錄到我們的網絡系統,進行一些編輯,然後打開一個新標籤以不同的用戶身份登錄。新的登錄用戶從前一個用戶接收會話數據。我想避免在選項卡之間共享會話數據。如果用戶使用「文件 - >新建會話」,它可以工作,但我們不能依賴於此。我想編寫代碼以在我們的應用程序中複製該菜單功能。

+0

Downvoting leditimate問題是真的跛腳。您如何期望新用戶獲得足夠的積分來點贊? – Gr3ml1n5tryp3

回答

0

因爲使用HTTP Cookie,ASP.NET會話在所有選項卡中都相同。共享所有瀏覽器選項卡的Cookie。如果您不喜歡使用URL參數的無cookie會話,則可以使用ajax-calls並查找JavaScript window.name屬性。它的屬性對所有選項卡(窗口)都是獨一無二的,您可以設置自己的價值。這種方法的

例子: Javascript session-variables without cookies

+0

不是因爲IE進程線程而是同一個會話。我想看看代碼的例子。具體來說,菜單中的「文件 - >新建會話」是如何工作的。 – Gr3ml1n5tryp3

+0

您製作一個ASP.NET網站或一些IE擴展? –

+0

這是一個ASP.NET網站,用戶使用IE8。會話由於IE的進程線程而在選項卡之間共享。它在網上很好的記錄。我的目標是複製菜單選項「文件 - >新建會話」沒有任何JavaScript或花哨的黑客。 – Gr3ml1n5tryp3

0

在共同它是一些骯髒的黑客,但可以在你的情況下工作。

<script language="javascript"> 
var a = external.menuArguments; 
if(a && (a = a.event) && (a = a.srcElement) && (a = a.href)) 
{ 
var shell = new ActiveXObject("WScript.Shell"); 
shell.run("\"C:\\Program Files\\Internet Explorer\\iexplore\" -nomerge \"" + a + "\""); 
} 
</script> 

http://waissguy.wordpress.com/2009/07/07/how-to-open-a-link-in-a-new-session-with-ie8/

+1

用戶沒有以編程方式打開標籤。他們通過IE菜單打開新標籤。這不起作用。我需要創建新選項卡時創建新會話的代碼。不是Shell代碼來調用瀏覽器。我需要將「新會話」代碼放入我的登錄例程中。 – Gr3ml1n5tryp3

+0

我想查看代碼示例。具體來說,菜單中的「文件 - >新建會話」是如何工作的。 – Gr3ml1n5tryp3