'자작소스/Javascript'에 해당되는 글 4건
- 2021.11.02 [Javascript] HTML 로드시 반드시 실행되는 이벤트(pageshow, pagehide)
- 2018.06.11 History.back() 차단
- 2014.01.27 ie11 에서 없어진 자바스크립트 메소드
- 2009.06.05 프래임 페이지에서 F5 시 자식창만 새로고침
[Javascript] HTML 로드시 반드시 실행되는 이벤트(pageshow, pagehide)
history.back() 에서도 실행 됨 반대는 pagehide
https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event
https://www.w3schools.com/Jsref/event_onpageshow.asp
window.onpageshow = function (event) {
if (event.persisted || (window.performance && window.performance.navigation.type == 2)) {
console.log('BFCahe로부터 복원됨');
} else {
console.log('새로 열린 페이지');
}
};
$(window).on("pageshow", function (event) {
if (event.originalEvent.persisted || (window.performance && window.performance.navigation.type == 2)) {
console.log('BFCahe로부터 복원됨');
} else {
console.log('새로 열린 페이지');
}
});
History.back() 차단
history.pushState(null, null, location.href); window.onpopstate = function(event) { history.go(1); };
ie11 에서 없어진 자바스크립트 메소드
제거된 API 기능 | 대체 기능 |
attachEvent | addEventListener |
window.execScript | eval |
window.doScroll | window.scrollLeft, window.scrollTop |
document.all | document.getElementById |
document.fileSize, img.fileSize | XMLHttpRequest를 사용하여 원본 가져오기 |
script.onreadystatechange 및script.readyState | script.onload |
document.selection | window.getSelection |
document.createStyleSheet | document.createElement("style") |
style.styleSheet | style.sheet |
window.createPopup | div 또는 iframe을 높은 zIndex 값과 함께 사용합니다. |
이진 동작 | 다양하며 canvas, SVG 또는 CSS3 애니메이션 같은 표준 기반 동작을 사용합니다. |
레거시 데이터 바인딩 | WinJS 같은 프레임워크의 데이터 바인딩을 사용합니다. |
출처 : http://msdn.microsoft.com/ko-kr/library/ie/bg182625(v=vs.85).aspx
프래임 페이지에서 F5 시 자식창만 새로고침
<script type="text/javascript"> function processKey() { if( event.keyCode == 116) { event.keyCode = 0; event.cancelBubble = true; event.returnValue = false; top.프래임명.location.reload(); } } document.onkeydown=processKey; </script>
프래임으로 된 페이지에서 F5 로 새로고침을 하면 전체 페이지가 새로고침되어
첫 페이지로 이동될 경우가 있다. F5 를 눌렀을때 이벤트 코드를 막고 자식창만 reload 되도록 한 소스
그리고 익스 7,8 의 경우 프래임의 자식창에서 새창을 띄워놓고 opener 작업을 하는 경우
F5 로 전체를 새로고침 할경우 opener.document 에 접근하지 못하고 "권한 없음" 오류가 뜨기 때문에
그부분을 피하기 위해서이다.