2014-04-03 10 views
9

Ich entwickle einen Chat auf nodejs. Wie jeder Chat sendet der Benutzer ständig Links. Die Situation ist, wenn ein Benutzer auf einen Link klickt (Anchor-Tag mit '_blank' Ziel), Chrome öffnet eine neue Registerkarte (Beispiel: ein YouTube-Video), die beide zu verknüpfen scheint, Haupt-und neue Registerkarte, in diesem Speicher:Chrome neue Registerkarte enthält Speicher

http://s22.postimg.org/a9u5sm9dt/Chat_Tabs.png

Es scheint wie ein normales Verhalten, aber wenn der Benutzer nahe, die neue Registerkarte Hauptregister Speicher von neueren Register hält, nur wenige Ks reduzieren.

http://s22.postimg.org/e7m0vrlkx/Chat_Tabs_User_Close.png

Garbage Collector läuft nicht immer und unter der Annahme, dass ein Benutzer geöffnet 30 Links, Speicher deutlich wachsen kann.

Wer weiß, wie man ein Anker-Tag erstellt, das dieses Verhalten vermeiden kann? Es ist ein Chrome-Problem? Meine Version ist 33.0

Ein interessantes Verhalten ist, wenn der Benutzer mit der rechten Maustaste klickt und eine neue Registerkarte aus dem Menü öffnet. Chrome erstellt separat einen neuen Tab. Das ist das Verhalten, das ich replizieren möchte.

Prost!

+2

Es gibt nichts, was Sie tun können, soweit es serverseitig oder vom Client ausgeführter Code betrifft, um die Garbage Collection oder die Speicherbenutzung des Benutzeragenten zu manipulieren oder zu beeinflussen. –

+0

Danke! Ja, ich weiß das, aber ein interessantes Verhalten ist, wenn der Benutzer mit der rechten Maustaste klickt und einen neuen Tab daraus öffnet. Chrome erstellt separat einen neuen Tab, und das möchte ich replizieren. – Machinerium

+0

Anscheinend ist dies eine bekannte Frustration und sieht aus wie jeder Browser hat hier oder da Probleme: https://www.google.com/search?q=chrome+memory+leak – DrLivingston

Antwort

5

Ich habe eine Lösung gefunden, rel = noreferrer auf die Anker-Tag. Jetzt wird eine beliebige Anzahl von Registerkarten separat geöffnet, ohne den Hauptspeicher zu überladen.

Verwandte Themen