2014-04-03 2 views
9

저는 nodejs에서 채팅을 진행하고 있습니다. 채팅과 마찬가지로 사용자는 항상 링크를 보냅니다. 사용자가 임의의 링크 ('_blank'타겟이있는 앵커 태그)를 클릭 할 때마다 Chrome에서 주 탭과 새 탭을 모두 링크하는 것처럼 보이는 새 탭 (예 : YouTube 동영상)을 다음과 같은 메모리에 엽니 다.Chrome의 새 탭에 메모리가 저장됩니다.

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

그것은 정상적인 동작하지만 때처럼 보인다 새 탭은 메인 탭은 몇 캔사스을 줄이고, 새로운 탭에서 메모리를 보유하고있는 사용자 가깝습니다.

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

가비지 콜렉터는 항상하고 사용자 개방 30 개 링크, 메모리가 크게 증가 할 수 있음을 가정하여 실행되지 않습니다.

누구나이 동작을 피할 수있는 앵커 태그를 만드는 방법을 알고 계십니까? Chrome에 문제가 있습니까? 내 버전은 33.0

재미있는 동작은 사용자가 마우스 오른쪽 버튼을 클릭하여 메뉴에서 새 탭을 열 때입니다. Chrome은 별도로 새 탭을 만듭니다. 그것은 내가 복제하고 싶은 행동입니다.

건배!

+2

서버 측 또는 클라이언트가 실행 한 코드까지 사용자 에이전트의 가비지 수집 또는 메모리 사용을 조작하거나 영향을 줄 수있는 방법은 없습니다. –

+0

감사합니다. 그래, 나도 알아,하지만 재미있는 동작은 사용자가 마우스 오른쪽 버튼으로 클릭하고 새 탭을 열 때이다. Chrome은 별도로 새 탭을 만들고 그 탭을 복제하려고합니다. – Machinerium

+0

분명히 알려진 좌절감으로 모든 브라우저에 여기저기서 문제가있는 것처럼 보입니다. https://www.google.com/search?q=chrome+memory+leak – DrLivingston

답변

5

해결 방법을 찾았습니다. 앵커 태그에 rel = noreferrer을 설정했습니다. 이제는 메인 탭에 메모리를 과부화하지 않고 탭을 여러 개 열 수 있습니다.

관련 문제