的背景
- 我使用 Graffiti CMS 为当地的慈善/服务组织运行 ASP.NET 网站。
- 该组织的领导者希望开始集成第三方后端管理系统,将内容公开为完整的 HTML 页面。
- 其中一个页面(军官列表)使用内联脚本加载图片或占位符(取决于是否有给定军官的图片)。
- 我创建了一个服务器端代理,可以使用 jQuery 从这些页面加载内容
.load()
AJAX 功能。
- 我可以使用 iframe 很好地显示此内容,但这感觉真的很混乱,如果内容的大小发生变化,我可能需要更改 iframe 的大小以确保它全部显示(哎呀!)。
问题
如果我创建一个<div>
在涂鸦帖子中,并使用$("#divid").load(url)
要加载内容,HTML 内容可以正常加载,但内联脚本被删除,因此军官图像和占位符都不会显示。
问题
了解问题的原因是 jQuery 几乎肯定是试图通过在将内联脚本加载到 DOM 之前删除内联脚本来防止潜在的不良内容,有没有一种方法使用 jQuery 来获取此 HTML 并将其加载到我的 DOM 中会保留脚本,但不会打开主要的安全漏洞?我确实信任加载内容的系统(如果这有影响的话)。
建议?我希望尽可能保持简单......任何太复杂的东西,我都可以坚持使用 iframe。
提前致谢!
@devhammer http://twitter.com/devhammer
使用 document.write 时出现问题。如果您有能力修改源页面,您可以修改它们以使用innerHtml 技术。
为此,您需要更改如下内容:
<div id="testDiv">
<script type="text/javascript">
document.write("<img src='image1.jpg' alt='' />");
</script>
</div>
To this:
<div id="testDiv">
<div>
<script type="text/javascript">
document.getElementByid('testDiv').innerHTML = "<img src='image1.jpg' alt='' />";
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)