기본 브라우저 코드를 복원하는 방법
4420 단어 webdevjavascript
경우에 따라 일부 네이티브 코드를 덮어쓴 시나리오가 발생할 수 있습니다. 제3자 개발자로서의 경험에서 콘솔이 빈 함수로 덮어쓰여진 경우를 몇 번 보았습니다. 이것은 일반적으로 민감한 고객 정보가 표시되는 것에 대해 매우 신중한 고객이 수행합니다(그러나 진지하게 누군가가 이 정보를 정말로 찾고자 한다면 찾을 것입니다!). 작동하는 콘솔 없이 코드를 작성하는 것은 엄청난 고통이므로 콘솔의 기본 기능을 복원하는 좋은 사용 사례가 있었습니다. (이것은 로컬 개발용으로만 수행되었으며 실시간으로 배포되지 않았습니다!).
예를 들어 Khols.com 모바일 사이트에는 모든 콘솔 메서드가 빈 함수로 덮어써집니다(에뮬레이터에서 모바일 사이트를 시뮬레이트해야 함).
복원 방법은 다음과 같습니다.
function createConsoleProxy() {
// Create dummy iframe to steal its fresh console object
const iframe = document.createElement('iframe');
// Add iframe to current window's scope in a hidden state
iframe.id = 'console-proxy';
iframe.style.display = 'none';
document.body.insertAdjacentElement('beforeend', iframe);
// Reassign value of console to iframe's console
const proxyIframe = document.querySelector('#console-proxy');
window.console = proxyIframe.contentWindow.console;
}
콘솔에
console.log;
를 입력하면... 빵! "네이티브"상태로 돌아왔습니다!이 방법을 사용하기 전에 동료는 사용자 입력을 받아 본문 앞에 추가하는 사용자 정의
log()
함수를 만들어 메시지를 볼 수 있는 영리한 대안을 생각해 냈습니다.function log(msg) {
const body = document.body;
body.insertAdjacentHTML('afterbegin', `<div>${msg}</div>`);
}
간단한 메시지를 보는 데는 충분했지만 개체를 확장할 수 있는 기능이 필요하므로 사용이 제한적이라는 사실을 금방 깨달았습니다. 하지만 이런 도전은 언제나 즐겁습니다. 🤪
내 블로그jsbits-yo.com에서 더 많은 #JSBits를 확인하십시오. 또는 나를 따르라!
Reference
이 문제에 관하여(기본 브라우저 코드를 복원하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/js_bits_bill/how-to-restore-native-browser-code-3e6e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)