μλ
μ¬λ¬λΆ! λ΄ μν©μ λ€μκ³Ό κ°μ΅λλ€. μΌλΆ κ΅¬μ± μμμλ μλ° μ€ν¬λ¦½νΈκ° νμν©λλ€. preview-head.html
μμ javascript νμΌμ μ±κ³΅μ μΌλ‘ νΈμΆ ν μ μμ§λ§ μ΄κΈ°ννλ κ²μ΄ λ¬Έμ μ
λλ€.
v5.0.1 μ΄μ μλ λ€μμ΄μμμ΅λλ€.
document.addEventListener("DOMContentLoaded", function(event) {
/* The stuff I needed to initialise */
}, false);
μλνμ§λ§ μ§κΈμ κ·Έλ μ§ μμ΅λλ€.
κ·νμ λ¬Έμμ Stackoverflow μ체λ₯Ό λͺ¨λ μ΄ν΄ 보μμ§λ§ μ΄μ λν ν΄κ²°μ± μ μ°Ύμ μ μμ΅λλ€. μ€ν 리 λΆμ΄ κ³ λ €ν΄μΌ ν 무μΈκ°κ°λμ΄μΌ ν κ² κ°μ΅λλ€.
μ΄λ€ λμμ μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€.
μ κ²½ μ°μ§ λ§, ν΄κ²°λ¨
@ BennyZ28 ν΄κ²°μ± μ 무μ
@shilman μ¬μ€ λλ κ·Έκ²μ ν΄κ²°νμ§ λͺ»νμ΅λλ€. νλ©΄ μμμ λ무 λ§μ μκ°μ λ³΄λΈ κ² κ°μμ§λ§ ν λ Έμ΅λλ€.
κ·Έλμ, μ΄λ€ λμμ΄λΌλ μ¬μ ν κ°μ¬ν©λλ€!
'νμ΄μ§'κ° λ³κ²½ λ λλ§λ€ iframe
λ΄μ μ΄μ div#root
μμκ° μ κ±°λκ³ μ μμκ° μΆκ°λ©λλ€. μ΄ κΈ°λ₯μ μ¬μ©νκ³ MutationObserver
μ κ²°ν©νμ¬ νμ΄μ§κ° λ³κ²½ λ λλ§λ€ ν¨μλ₯Ό μ€νν μ μμ΅λλ€.
preview-head.html
λ€μμ μΆκ° ν μ μμ΅λλ€.
function runOnInit() {
console.log('Init')
}
function runOnPageChange() {
console.log('Page has changed!')
}
document.addEventListener('DOMContentLoaded', function() {
runOnInit();
const callback = function(mutationsList) {
for (let i = 0, len = mutationsList.length; i < len; i++) {
if (mutationsList[i].type == 'childList') {
runOnPageChange();
break;
}
}
};
const observer = new MutationObserver(callback);
const config = { childList: true, subtree: false };
observer.observe(document.getElementById('root'), config);
}, false);
MutationObserver
μλ λ°©μμ μ΄ν΄νλ €λ©΄ MDN μ€λͺ
μ λ₯Ό μ°Έμ‘°νμμμ€.
π
@ BennyZ28 ν΄κ²°μ± μ 무μ
ν΄κ²° λ°©λ²μ΄ λ무 볡μ‘ν©λλ€. μ€ν 리 λΆμ΄ dom νΈλ¦¬μ μ€ν 리λ₯Ό μΆκ° ν ν λ°©κΈ νΈμΆ ν μ½λ°±μ μ 곡νμ§ μλ μ΄μ λ 무μμ λκΉ?
κ°μ₯ μ μ©ν λκΈ
ν΄κ²° λ°©λ²μ΄ λ무 볡μ‘ν©λλ€. μ€ν 리 λΆμ΄ dom νΈλ¦¬μ μ€ν 리λ₯Ό μΆκ° ν ν λ°©κΈ νΈμΆ ν μ½λ°±μ μ 곡νμ§ μλ μ΄μ λ 무μμ λκΉ?