Dreamweaver CC2017.1의 실시간 미리보기~body 요소의 onload 속성과 window.onload 프로세서~

Dreamweaver CC2017.1의 [실시간 미리보기]를 사용한 후 <body> 요소의 onload 속성과 window.onload 처리 프로그램을 호출하지 않습니다.브라우저에서 Dreamweaver CC2015.2를 로컬에서 열면 제대로 작동합니다.알아봤는데

로컬 서버를 열 때 나쁜 짓을 한 것 같습니다


Dreamweaver CC2017에서 [실시간 미리 보기]]을(를) 가져오면 페이지가 로컬 서버에서 열립니다.상황 증거로 볼 때 로컬 서버를 열기 위한 처리가 가장 의심스러운 용의자다.
이후 검증에서 오류가 거의 없다는 증명이 나왔다.드림위버CC2017의'실시간 미리보기'문제를 피하기 위해서는 이벤트loadDOMContentLoaded에서 청중으로 처리하는 것이 좋다.

window.onload 프로세서가 덮어쓰임


Dreamweaver CC2017의'실시간 미리보기'가 무엇을 하는지 궁금하다.그래서 나는 다음과 같은 테스트용 코드를 썼다.
window.onload = function() {
    alert('window');
}
window.onmousedown = function() {
    var body = document.body;
    console.log('widdow:', window.onload);
    console.log('body:', body.getAttribute('onload'));
}
<body onLoad="alert('body')">
창에서 확인을 클릭하여 [실시간 미리 보기]에서 읽은 deviceClient Script입니다.js가 window.onload의 처리 프로그램을 고친 것 같다(그림001).

그림 001 ■ JavaScript 콘솔의 출력



window.onload와 <body> 요소의 onload 속성

<body> 요소onload의 속성은 어디에 있습니까?테스트 코드에서 속성 값이 보류되었음을 확인했습니다(위 그림001).또한 문제를 검색할 때window.onload<body> 요소의onload 속성에 대해 "window,document,body의 onload,onready 활동에 대한 각기 다른 해설"에서 다음과 같은 기술을 찾았다.
최근 브라우저에서 실험을 했는데 두 개를 동시에 사용한 상황에서 바디.onload만 시작합니다.body.온로드가 없으면 창문으로.onload 시작 (현재 Chrome41 및 Firefox36 확인 완료)
그러면 window.onload를 덮어쓰더라도 <body> 요소의 onload 처리 프로그램을 호출할 수 있습니다.따라서 [실시간 미리 보기]를 사용하지 않고 로컬 브라우저에서 파일을 엽니다.
그럼, 이게 어떻게 된 일입니까?확실히 <body> 요소onload 프로세서의 설명에 따라 경고 대화상자가 열렸습니다.그러나 컨트롤러의 출력을 보면 window.onload 프로세서의 처리가 바뀌었다(그림002).window.onload 이벤트에서 <body> 요소의 onload 프로세서의 자바스크립트 코드가 실행된 것 같습니다.

그림 002 ■ JavaScript 콘솔의 출력 - 로컬



필자의 환경에서 크롬/Firefox/SAfari도 같은 결과였다.공교롭게도 나는 그 방법을 찾지 못했다.<body>에서는 요소onload의 속성에 "브라우저 처리에 따라 다르다"는 설명("페이지를 불러온 후 처리하는 방법"이 있는 것도 발견됐다.지금이라면 앞에서 말한 것처럼 행사 청중을 활용하는 것이 좋다.

좋은 웹페이지 즐겨찾기