mirror of
https://github.com/liriliri/eruda.git
synced 2026-03-20 09:38:37 +08:00
add capture script request ability
This commit is contained in:
committed by
RedHoodSu
parent
5b1171983d
commit
c66139d530
@@ -18,6 +18,8 @@ export default class Resources extends Tool
|
||||
this._stylesheetData = [];
|
||||
this._imageData = [];
|
||||
this._tpl = require('./Resources.hbs');
|
||||
|
||||
this._observeScript()
|
||||
}
|
||||
init($el, parent)
|
||||
{
|
||||
@@ -43,6 +45,8 @@ export default class Resources extends Tool
|
||||
super.destroy();
|
||||
|
||||
util.evalCss.remove(this._style);
|
||||
|
||||
this._unobserveScript()
|
||||
}
|
||||
refreshScript()
|
||||
{
|
||||
@@ -349,6 +353,32 @@ export default class Resources extends Tool
|
||||
this._lastHtml = html;
|
||||
this._$el.html(html);
|
||||
}
|
||||
_observeScript()
|
||||
{
|
||||
let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
|
||||
|
||||
this._scriptObserver = new MutationObserver(mutations =>
|
||||
{
|
||||
mutations.forEach(mutation =>
|
||||
{
|
||||
mutation.addedNodes.forEach(node => {
|
||||
if ( node.tagName.toLocaleLowerCase() === 'script' && node.src !== '')
|
||||
{
|
||||
this._scriptData.push(node.src);
|
||||
this._scriptData = util.unique(this._scriptData);
|
||||
this._render();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
this._scriptObserver.observe(document.head, { childList: true });
|
||||
this._scriptObserver.observe(document.body, { childList: true });
|
||||
}
|
||||
_unobserveScript()
|
||||
{
|
||||
this._scriptObserver.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
function getState(type, len)
|
||||
|
||||
Reference in New Issue
Block a user