2015-01-05 6 views
0

누구나 어디서나 클릭하면 새 창을 여는 방법을 도울 수 있습니다. 예를 들어 google.com을 방문하여 아무 곳이나 클릭하면 새 창이 열립니다. 한 번만 클릭하면 두 번째 클릭으로 창이 열리지 않습니다.
사이트 예 : http://afowles.blogspot.com
내 스크립트아무 데나 클릭하면 팝업 창이 나타납니다.

Function popup() { 
    window.open ("http://www.stackoverflow.com","popup","menubar=1,resizable=1,width=450,height=550");

입니다 그리고 본문에

onclick="popup()"
을 넣어.
위의 코드는 사이트에서 클릭 할 때마다 새 창을 표시합니다. 한 번만 표시되도록하려면 어떻게해야합니까?

답변

1

글로벌 변수 설정 a = 1; 다음 함수에서 변수의 값을 검사합니다. windows.open이 실행 된 후 전역 변수의 값을 변경하여 windows.open이 다시 실행되지 않도록합니다.

코드 :

<script> 
var a=0; 
function popup() { 
if(a==0){ 
window.open ("http://www.stackoverflow.com","popup","menubar=1,resizable=1,width=450,height=550"); 
a++; 
} 
} 
</script> 
+0

Working : D 고마워요. –

0

은 첫째로 당신이 방문은 일, 주, 또는 귀하의 사이트에 사용자의 토지, 모든 페이지가로드 될 때마다 한 번씩, 등 즉, 무엇으로 이루어져 있는지 자신에게 정의해야합니다

사용자가 탐색하는 동안 일부 지속성을 원한다고 가정하면 사이트에서해야 할 일은 첫 번째 클릭 전에 평가할 조건을 설정하고 결과가 사용자의 첫 번째 방문임을 나타내면 페이지를 엽니 다. . 동시에 다음 번에 확인할 값 (현재 구현을 기반으로하는 모든 후속 클릭)을 설정하십시오. LocalStorage 나 쿠키가 최선의 선택입니다. How to set/unset cookie with jQuery?

마지막으로 모든 것이 설명이 문서에서 봐 가지고, 대신 여기에 쿠키와 함께이 작업을 수행하는 방법을 맞춤법의

//check page is loaded 
if (cookie.firstVisit) { 
    //add click event listener 
} else { 
    //set cookie.firstVisit to false 
    //remove click event listener 
} 

:

나는의 라인을 따라 뭔가를 설정합니다 , 누군가가 당신의 페이지에서 아무 곳이나 클릭 할 때 새로운 윈도우를 열면 명시 적으로 그 액션을 수행하지 않고도 대부분의 시나리오에서 나쁜 습관으로 간주됩니다. 그러나 나는 귀하의 상황을 잘 모르기 때문에 이것이 최선의 행동 방침이 될 수는 있지만 언급 할 만하다고 생각했습니다.

관련 문제