tic*_*tic 6 javascript firebug innerhtml
如果我在任何页面上运行Firebug中的以下行:
document.documentElement.innerHTML="<script>alert(1)</script>";
Run Code Online (Sandbox Code Playgroud)
为什么不alert执行命令?
它看起来像你的<script>标签是像您期望的添加,但没有被执行其中的代码.如果你尝试使用document.head(或任何其他DOM元素,似乎)会发生同样的失败.无论出于何种原因(可能符合标准,可能的安全性),<script>通过.innerHTML简单添加的块内部的内联代码都不会运行.
但是,我确实有生成类似功能的工作代码:
var script = document.createElement('script');
script[(script.innerText===undefined?"textContent":"innerText")] = 'alert(1);';
document.documentElement.appendChild(script);
Run Code Online (Sandbox Code Playgroud)
在这里,你添加<script>块documentElement.appendChild和使用textContent或innerText设置的内容<script>.
| 归档时间: |
|
| 查看次数: |
8503 次 |
| 最近记录: |