我有一个页面,我在动态CRM表单中添加为 Web资源。我在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中,该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。
答案 0 :(得分:1)
在解决问题的表单上的网络资源属性中关闭“限制跨框架脚本”。
感谢所有的帮助!
答案 1 :(得分:0)
您是否尝试将其添加为网络资源而非iframe?可能会有一些xss安全问题.Web资源应该克服它。 Web资源还具有其他优点(依赖性感知等)。