2013-10-12 4 views
0

그래서이 환상적인 쿠키 스크립트가 마침내 내 사이트 www.dynamicdrive.com/forums/showthread.php?69591- 찾는 데 사용됩니다. -do-not-show-this-page-again-check-checkbox-script :도메인의 모든 사용자에 대해 설정 값이있는 단일 쿠키 지우기

// Skip this Page Script (c)2012 John Davenport Scheuer 
     // as first seen in http://www.dynamicdrive.com/forums/ 
     // username: jscheuer1 - This Notice Must Remain for Legal Use 
     ;(function(setting){ 
      var cook = { 
       set: function(n, v, d){ // cook.set takes (name, value, optional_persist_days) - defaults to session if no days specified 
        if(d){var dt = new Date(); 
         dt.setDate(dt.getDate() + d); 
        d = '; expires=' + dt.toGMTString();} 
        document.cookie = n + '=' + escape(v) + (d || '') + '; path=/'; 
       }, 
       get: function(n){ // cook.get takes (name) 
        var c = document.cookie.match('(^|;)\x20*' + n + '=([^;]*)'); 
        return c? unescape(c[2]) : null; 
       } 
      }; 
      if(cook.get('skipthispage')){ 
       //Hide element when cookie exists 
      } 
      else { 
       //Show element when cookie does not exist 
      } 
      if(!document.cookie){cook.set('temp', 1);} 
      if(document.cookie){ 
       jQuery(function($){ 
        $('#optout').css({display: ''}).append(setting.optoutHTML).find('input').click(function(){ 
         this.checked? cook.set('skipthispage', '1', setting.days) : cook.set('skipthispage', '', -1); 
         this.checked && setting.gowhenchecked && location.replace(setting.page); 
        }); 
       }); 
      } 
     })({ 
      days: 1, // days cookie will persist 
      page: '', 
      gowhenchecked: true, // true/false - should page switch when the box is checked? 
      optoutHTML: '<label for="optoutcheckbox">Don\'t show this again: <input type="checkbox" id="optoutcheckbox" value=""></label>' 
     }); 

그러나, 사람들이 처음 내 사이트를 방문 할 때 나타나는 스플래시 페이지를 숨기고이 쿠키를 사용하여 1 일간의 긴 쿠키를 사용하여이 시작 페이지를 숨길 수있는 옵션을 제공합니다.

이 시작 페이지에는 내가 작업하고있는 사이트에 대한 정보가 포함되어 있으며 항상 바뀌고 있습니다. 따라서 정보가 변경 될 때마다 모든 쿠키를 지우는 빠르고 효율적인 방법이 필요합니다.

내 ACP에서 클릭 할 수있는 버튼이 필요합니다. 쿠키를 지우고 내 사이트를 방문하는 사람들을위한 스플래시 페이지를 다시 표시합니다.

많은 다른 방법을 사용하여 작동 시키려고했지만 아무 것도 작동하지 않는 것 같습니다.

이 아름다운 스크립트에 대한 jscheuer1에게 감사드립니다.

감사합니다, 프레드릭 T


편집 : 내가 추가해야 다음 ACP 스크립트가 어디에서 서브 디렉토리에 있습니다.

http://example.com/index.php이 스크립트는

http://example.com/admin/index.php

을로드 곳이다 // 내가 할 버튼을 필요로하는 곳입니다. //

위와 같이 할 수 없다면 PHP를 사용하여 세션 사용자가 관리자로 설정된 경우에만 표시 할 수 있습니다. 그러나 저는 이것을 피하고 싶습니다.

답변

0

내 데이터베이스에 64 바이트 문자열을 생성하여 변경 사항이 적용될 때마다 이전 값으로 대체하여이를 해결했습니다.

문자열에 바인딩하여이를 자바 스크립트에 삽입했습니다.

관련 문제