【发布时间】:2013-04-30 11:02:23
【问题描述】:
我有一个页面要添加为动态 CRM 表单中的网络资源。我在 iframe 之外开发了代码,它在 IE (9+) 和 Firefox 中独立工作,直接导航到资源 URL。 (已编辑)
经过一天的独立开发,现在回到测试 CRM 中嵌入的代码;作为 CRM 表单的一部分加载时,没有任何脚本运行。我已经通过在 javascript 加载的每个阶段添加小警报脚本(如下所示)对此进行了测试,现在这些脚本可以在早至 IE5 的所有浏览器中运行,但在 CRM 表单上的 IFrame 中加载时则不行:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
alert("1");
</script>
<!-- etc.. -->
我还尝试创建一个本地页面以将我的页面加载到 iframe 中,这也可以按预期工作:
<!DOCTYPE html>
<html>
<head>
<title>Iframe test</title>
</head>
<body style="background: Red;">
<h1>Hello, World!</h1>
<iframe width="500" height="500" src="http://server:5555/...">
</iframe>
</body>
</html>
因为这个问题只发生在 IFrame 中,所以我已经没有如何调试它的想法了。我最好的猜测是问题是与父页面中的代码冲突,但即便如此我希望我在 html 文件入口点的警报会运行。
我不确定昨天代码在什么时候停止工作并且很遗憾没有备份。我会很感激任何关于为什么脚本会在 IFrame 中被放弃的猜测,关于我可以尝试的任何额外调试步骤的提示......或解决方案 =p。
【问题讨论】:
-
仅供参考,忘记提及页面内容仍在加载,尽管大部分内容是用 JS 动态编写的......或者应该是!
-
尝试禁用跨站脚本过滤器,按照本指南https://jobs.missouri.edu/howtos/DisableIE8XSS.pdf
-
@GuidoPreite 不幸的是禁用 xss 并没有解决问题
标签: javascript iframe dynamics-crm-2011 dynamics-crm