在 HTML 中查找当前脚本
Finding currentScript in HTML
下面是一个示例代码:
.HTML
<script> alert('This is alert!') </script>
.JS
window.alert = function(data) //alert() over-riding
{
scriptObject = document.currentScript; //gives me <script> object
}
更新:上面的代码现在似乎不起作用(它更早工作,IE的兼容性被删除)在Internet Explorer 11.420.10586.0中。为什么它能够在Chrome,Firefox,Safari和Microsoft Edge中找到Script对象,但在Internet Explorer中找不到?有没有其他方法?
问题:
.HTML
<script> ReferenceError.prototype.__defineGetter__('name', function fff() { javascript:alert(1) }),x </script>
.JS
window.alert = function(data) //alert() over-riding
{
scriptObject = ? // I need to get the Script object
}
我试图arguments.callee.caller
找到fff()
,但无法捕获脚本对象。
对于上述脚本,Alert() 不会在 Chrome 中执行。请改用火狐浏览器。我无法在任何浏览器中获取脚本对象。
请问有什么解决方案吗?
在最简单的情况下,当在(阻止)脚本中立即调用被覆盖的alert
时,简单的document.scripts[document.scripts.length-1]
可能很好:
<pre id="log"></pre>
<script>
window.alert = function(a){
log.innerText += a + ' ' + document.scripts[document.scripts.length-1].outerHTML + ''n';
}
</script>
<script id="a">alert('first')</script>
<script id="b">alert('second')</script>
<script id="c">alert('third')</script>
相关文章:
- 如何使用 Java 脚本从 csv 文件中查找每列的数据类型
- Java脚本,需要帮助查找我的错误
- 编写脚本以查找页面空闲时间
- Java Script Regex-查找脚本中是否只有允许的字符
- 运行IOS自动化脚本时需要查找崩溃
- 正在查找此撤消脚本的存储库和文档
- 在JavaScript中查找调用方脚本
- 咖啡脚本数组查找下一个位置
- 如何查找正在运行的脚本
- Google Apps 脚本在两个具有相同列值的数组中查找行
- 查找负责打开新窗口的脚本
- 查找并计算网页中的 iFrame,并将帧数复制到脚本 iMacro
- 在 HTML 中查找当前脚本
- 如何查找页面状态是否在 AJAX 或 Java 脚本 ASP.NET 更改
- jQuery 在 AJAX 响应字符串中查找脚本标记
- 如何使用 java 脚本查找 asp 控件 ID
- Java 脚本单击事件 - 如何查找子元素
- Google Apps 脚本查找函数调用方 ID
- 网络风暴 - 快速查找相关脚本
- 使用脚本查找文本字符串,直到第一个html标记