从数据 URL 加载脚本内容
Loading script content from data URL
我只是在测试是否可以通过数据 url 加载脚本。令我惊讶的是,在我的实际铬中它可以工作。
我加载以下文档:
<html>
<head>
<script type="text/javascript">
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'data:text/javascript,alert("hello!");';
head.appendChild(script);
head.removeChild(script);
</script>
</head>
</html>
。然后弹出一个"你好!"的盒子。
这不是和eval()
一样糟糕吗?这使得编译任意内容(包含任何 POST 内容或 GET 参数)并将其"注入"到运行代码中成为可能!
有人可以告诉我这是否是实际浏览器常见的预期行为吗?
它与eval()
并没有真正的区别,因为它具有几乎相同的行为。然而,在某些情况下,eval() 并不是邪恶的。
相关文章:
- Joomla异步脚本加载jdoc头
- 将自定义脚本加载到Vue.js组件中
- 延迟加载 脚本加载和/或执行
- 脚本加载问题
- I'当我试图将java脚本加载到web视图中时,我得到了一个空白屏幕
- 脚本加载脚本广告
- 当我有一个脚本数组时,如何等待脚本加载
- 将Dropbox API脚本加载到chrome扩展时出错
- 异步脚本加载
- 一旦第三方脚本加载失败,立即运行一段JavaScript
- 有没有办法阻止脚本加载两次?JavaScript
- 无法使用 AJAX 将脚本加载为纯文本
- 我怎样才能说服WebStorm我的用户脚本加载jQuery
- 需要JS脚本加载顺序
- 处理不同设备的页面中的脚本加载
- 显示加载 gif,直到脚本加载完毕
- jQuery Mobile pageinit,脚本加载和其他东西
- IE11 脚本加载不起作用(有时)
- 有条件地将内容脚本加载到 Safari 扩展中,就像在 FF/Chrome 中一样
- 如何在Chrome开发工具中找到以下脚本加载时间线