2020-08-28 10:51:55 -07:00
|
|
|
<link rel='stylesheet' href='./one.css'>
|
|
|
|
<style>
|
|
|
|
.root {
|
|
|
|
width: 800px;
|
|
|
|
height: 800px;
|
|
|
|
background: cyan;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
<div>hello, world!</div>
|
2020-09-10 15:33:39 -07:00
|
|
|
<textarea>Before edit</textarea>
|
2020-08-28 10:51:55 -07:00
|
|
|
<div class=root></div>
|
|
|
|
<script>
|
|
|
|
let shadow;
|
|
|
|
|
|
|
|
window.addEventListener('DOMContentLoaded', () => {
|
2020-09-10 15:33:39 -07:00
|
|
|
document.querySelector('textarea').value = 'After edit';
|
|
|
|
|
2020-08-28 10:51:55 -07:00
|
|
|
const root = document.querySelector('.root');
|
|
|
|
shadow = root.attachShadow({ mode: 'open' });
|
|
|
|
|
|
|
|
const link = document.createElement('link');
|
|
|
|
link.rel = 'stylesheet';
|
|
|
|
link.href = './one.css';
|
|
|
|
shadow.appendChild(link);
|
|
|
|
|
|
|
|
const imaged = document.createElement('div');
|
|
|
|
imaged.className = 'imaged';
|
|
|
|
shadow.appendChild(imaged);
|
|
|
|
|
|
|
|
const iframe = document.createElement('iframe');
|
|
|
|
iframe.width = '600px';
|
|
|
|
iframe.height = '600px';
|
|
|
|
iframe.src = '../frames/nested-frames.html';
|
|
|
|
shadow.appendChild(iframe);
|
|
|
|
});
|
|
|
|
|
|
|
|
window.addEventListener('load', () => {
|
|
|
|
for (const rule of shadow.styleSheets[0].cssRules) {
|
|
|
|
if (rule.styleSheet) {
|
|
|
|
for (const rule2 of rule.styleSheet.cssRules) {
|
|
|
|
if (rule2.cssText.includes('width: 200px'))
|
|
|
|
rule2.style.width = '400px';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
</script>
|