【发布时间】:2009-11-02 02:41:30
【问题描述】:
背景
- 我使用 Graffiti CMS 为当地的慈善/服务组织运行一个 ASP.NET 站点。
- 组织的领导希望开始集成第三方后端管理系统,将内容公开为完整的 HTML 页面。
- 其中一个页面,军官列表,使用内联脚本加载图片或占位符(取决于是否有给定军官的图片)。
- 我创建了一个服务器端代理,可以使用 jQuery 的
.load()AJAX 函数从这些页面加载内容。 - 我可以使用 iframe 很好地显示此内容,但感觉真的很笨拙,如果内容的大小发生变化,我可能需要更改 iframe 的大小以确保它全部显示(废话!)。李>
问题
如果我在 Graffiti 帖子中创建 <div>,并使用 $("#divid").load(url) 加载内容,则 HTML 内容加载正常,但内联脚本被删除,因此既不显示官员图像也不显示占位符。
问题
了解问题的原因是 jQuery 几乎可以肯定地试图通过在我将内联脚本加载到我的 DOM 之前删除它来防止潜在的坏东西,有没有办法使用 jQuery 来获取这个 HTML 并将它加载到我的 DOM 将保留脚本,但不会打开主要的安全漏洞?我确实相信我从中加载内容的系统,如果这有影响的话。
建议?我希望让这一切尽可能简单......任何太复杂的事情,我都最好坚持使用 iframe。
提前致谢!
【问题讨论】:
-
您尝试加载的页面是否在同一个域名上?
-
内联脚本是指
script标签或onclick=someScript? -
不,该页面位于不同的域中,但我在我的域中设置了服务器端代理来拉取内容。
-
内联如下:
<script> if ('' == '') { document.write('<img src="/path/member-small.jpg">'); } else { document.write('<img src="/otherpath/" width=80>'); } </script> -
脚本出现在标记的中间。
标签: asp.net jquery ajax scripting