| <script type="application/javascript"> |
| var runtimeId = "<?php echo $id4trustedBlocks |
| ;?>"; |
| var events = onabort:true, onafterprint: |
| true, /*the rest is discarded*/ |
| |
| Function validateNode(node) |
| if(node.nodeType == 1) |
| if(node.tagName == "SCRIPT" && (!node. |
| hasAttribute("runtimeId") || node. |
| getAttribute("runtimeId") != runtimeId)) |
| node.type = nojscode; |
| else |
| for(var j = 0; j < node.attributes. |
| length; j++) |
| if(events[node.attributes[j].name] && |
| (!node.hasAttribute("runtimeId") || |
| node.getAttribute("runtimeId") != |
| runtimeId)) |
| node.setAttribute(node.attributes[j |
| ].name, null); |
|
|
| if(node.getAttribute("src") != null && |
| (!node.hasAttribute("runtimeId") || |
| node.getAttribute("runtimeId") != |
| runtimeId)) |
| node.setAttribute("src", null); |
|
|
|
| |
| var dom_observer = new MutationObserver( |
| function(mutations) |
| mutations.forEach(( addedNodes ) => |
| addedNodes.forEach(node => |
| validateNode(node);) |
| ) |
| ); |
| var container = document.documentElement || |
| document.body; |
| var config = attributes: true, childList: |
| true, characterData: true,subtree: true; |
| dom_observer.observe(container, config); |
| |
| window.addEventListener(beforescriptexecute, |
| function(e) |
| return (e.target.hasAttribute("runtimeId") |
| && e.target.getAttribute("runtimeId")== |
| runtimeId) ? e : e.preventDefault(); |
| , true); |
| </script> |