2012-07-27 2 views
1

나는 자바 스크립트에 대해 거의 알지 못한다는 사실을 상기시켜야하며, 이와 같은 매우 드문 경우를 제외하고는 실제로 사용하지 않을 계획입니다 그것 많이. 따라서이 문제를 직접 해결하기 위해 더 많은 것을 배우려고하지 않으신 것에 대해 용서해주십시오.기존 팝업 창을 다시 사용할지 새 것을 만들지 묻는 메시지

상황은 :

나는 자주 다른 창에서 브라우저 창을 활용할 것을 좋아합니다. 이렇게하려면 내가 어딘가에서 복사 한 자바 스크립트의 작은 조각을 포함 브라우저에서 북마크를 생성 - 나는 위치를 기억 할 수없는 - 내 화면에 맞게 적응 :

javascript:%20var%20WindowPopup%20=%20window.open(window.location.href,'PopUp','left=1150,top=830,width=660,height=410,scrollbars=yes,location=no,status=no'); 

문제점 :

기존의 팝업 창이있는 상태에서 다시 북마크를 선택하면 같은 사이트에있는 경우 동일한 팝업 창이 다시 사용됩니다. 그렇지 않으면 새로운 팝업 창이 생성됩니다. 그러나이 기본 동작을 무시하고 싶을 때가 많습니다.

세 Qustions는 :

  1. 어떻게 새 창에서 항상 열려에 popouts을 강제 할 수 있습니까?

  2. 항상 팝업을 강제로 기존 창을 다시 사용할 수 있습니까?

  3. 이전의 두 가지 옵션을 결합한 것 : 기존의 팝업 창이 있는지 검색하고 재사용 할 것인지 아니면 새 창을 열 것인지 묻는 메시지를 표시 할 수 있습니까?

귀하의 도움을 크게 받으실 수 있습니다.

답변

1

북마크릿의 문자열 "PopUp"은 팝업 창의 이름입니다. 동일한 이름을 사용하여 다른 팝업 창을 만들면 이미 열려있는 창이 다시 사용됩니다.
이 문제를 해결하려면 매번 고유 한 이름으로 팝업 창을 만들어야합니다.

다음 북마크 코드는 고유 한 이름을 생성 팝업 윈도우의 이름에 타임 스탬프를 추가합니다 : 당신이 밀리 초 내에 여러 팝업을 개방하지 않는 한

javascript:%20var%20WindowPopup%20=%20window.open(window.location.href,'PopUp'+Date.now(),'left=1150,top=830,width=660,height=410,scrollbars=yes,location=no,status=no'); 

이 작동합니다.

+0

감사합니다. Max. 그것은 위대한 작품이며 내 첫 질문에 대한 답입니다. 이것이 저에게 가장 중요했습니다. 왜 내가 처음 다른 사이트에서 북마크를 선택하면 원래 코드로 두 번째 창이 열리는 지 설명 할 수 있습니까? 그리고 그 행동이 무시 될 수 있습니까? 필자는 필요한 경우 두 개의 별도 북마크를 쉽게 만들 수 있기 때문에 세 번째 질문에 너무 열중하지 않습니다. – Antagony

+1

브라우저는 아마 각 사이트에 대해 별도의 창 목록을 유지합니다. 그렇지 않으면 example.com이 동일한 팝업 이름을 공유하는 경우 somesite.com의 팝업 내용을 변경할 수 있습니다. 이것은 바람직한 행동이 아닙니다. 그래서 북마크릿이 다른 사이트에서 새 창을 생성합니다. 내 의견으로는이 점을 무시할 수 없습니다. –

+1

새 팝업을 만들 것인지 아니면 기존 팝업 메뉴를 재사용할지 묻는 프롬프트를 표시하려면'prompt' 함수를 사용하고 새 팝업 이름을 만들거나'prompt' 리턴 값을 기반으로 이전 팝업 이름을 사용해야합니다.그리고 현재 팝업 이름을 대체하지 않는 어딘가에 저장해야합니다. 그것은 복잡하고 아마 엉망입니다. 분리 된 북마크 렛을 두 개씩 사용하면 매번 클릭하는 번거 로움을 덜 수 있습니다. –

관련 문제