Rev. 2.73

PhpSupport.gif

오랜 태스트기간을 거친 Aptana는 드디어 PHP를 공식으로 지원하는 Milestone 9 버전을 정식으로 릴리즈했습니다. 함수들과 파라메터 그리고 다양한 PHP문법의 코드 어시스트와 일부 업데이트된 자바스크립트 라이브러리를 포함하며, 자바스크립트 Outliner를 향상시켰습니다. 멋집니다!

덧. Milestone 10 버전의 개발에 착수했다고 합니다. 이 버전에서는 PHP 지원 부에서 문법 색상강조(colorization)와 코드 접기(folding)를 더욱 강화 할 것이며, 리모트 FTP 기능 등을 개선할 예정이라고 합니다.

Comments

flash-3.gif

Paulius Uza씨는 자바스크립트를 이용하여 플래시의 마우스 오른쪽 버튼을 커스토마이즈하는 프로젝트를 Google Code에 포스팅했습니다. 자바스크립트로 마우스 오른쪽 버튼의 이벤트를 가로채 플래시 오브젝트로 전달하는 원리입니다. 이로서 플래시는 조금 더 사용자경험이 풍부한 인터페이스를 제공할 수 있겠네요. 플래시로 만들어진 컨텐츠인지 구분하기 위해서 마우스 오른쪽 버튼만으로 확신해서는 안되겠습니다.

var RightClick = {
  init: function () {
    this.FlashObjectID = "customRightClick";
    this.FlashContainerID = "flashcontent";
    this.Cache = this.FlashObjectID;
    if (window.addEventListener) {
       window.addEventListener("mousedown", this.onGeckoMouse(), true);
    } else {
      document.getElementById(this.FlashContainerID).onmouseup = function() {
        document.getElementById(RightClick.FlashContainerID).releaseCapture();
      }
      document.oncontextmenu = function() {
        if (window.event.srcElement.id == RightClick.FlashObjectID) {
          return false;
        } else {
          RightClick.Cache = "nan";
        }
      }
      document.getElementById(this.FlashContainerID).onmousedown = RightClick.onIEMouse;
    }
  },
  killEvents: function(eventObject) {
    if (eventObject) {
      if (eventObject.stopPropagation) eventObject.stopPropagation();
      if (eventObject.preventDefault) eventObject.preventDefault();
      if (eventObject.preventCapture) eventObject.preventCapture();
      if (eventObject.preventBubble) eventObject.preventBubble();
    }
  },
  onGeckoMouse: function(ev) {
    return function(ev) {
      if (ev.button != 0) {
        RightClick.killEvents(ev);
        if (ev.target.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) {
          RightClick.call();
        }
        RightClick.Cache = ev.target.id;
      }
    }
  },
  onIEMouse: function() {
    if (event.button > 1) {
      if (window.event.srcElement.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) {
        RightClick.call(); 
      }
      document.getElementById(RightClick.FlashContainerID).setCapture();
      if (window.event.srcElement.id) {
        RightClick.Cache = window.event.srcElement.id;
      }
    }
  },
  call: function() {
    document.getElementById(this.FlashObjectID).rightClick();
  }
};

Comments