【发布时间】:2012-06-18 20:19:59
【问题描述】:
我有一个过去可以工作的经典 ASP 网页...但是网络人员进行了很多更改,包括将应用程序移至运行 iis 7.5 的 winodws 2008 服务器。我们还升级到了 IE 9。
当我尝试单击以下链接时,我收到了 Permission denied 错误消息:
<a href=javascript:window.parent.ElementContent('SearchCriteria','OBJECT=321402.EV806','cmboSearchType','D',false)>
但是像下面这样的其他链接也可以正常工作:
<a href="javascript:ElementContent('SearchCriteria','OBJECT=321402.EV806', 'cmboSearchType','D',false)">
不同之处在于失败的链接位于 iframe 中。我在其他帖子中注意到,iframe 内容是否来自另一个域会有所不同。 在我的情况下,它不是。但是我通过执行以下操作从另一台服务器获取数据...
set objhttp = Server.CreateObject("winhttp.winhttprequest.5.1")
objhttp.open "get", strURL
objhttp.send
然后我更改返回的实际 html ... 添加一些超链接等。然后我将其保存到本地服务器上的文件中。 (另存为 *.html 文件) 然后,当我的页面加载时,我会查找特定的 html 文件并将其加载到 iframe 中。 我知道 IE 中的一些组策略选项发生了变化……我正在研究这些变化。但是一个javascript链接有效的事实让我想知道问题是否出在其他地方......??? 任何建议,将不胜感激。
谢谢。
【问题讨论】:
-
最终从浏览器的的角度来看既是IFrame持有者又是IFrame来源的内容来自同一个权限(权限是protocol:port//host/)
-
所以...抱歉,您能详细说明一下您的意思吗?
-
拒绝访问 window.parent 的最常见原因是父内容的来源站点与 IFrame 内容的来源站点不匹配。可能是 IFrame 包含来自“
https://mysite.com”的内容,该内容托管在其内容来自“http://mysite.com”的父窗口中。由于这些“权限”不匹配通过 IFrame 中的代码访问 window.parent 对象。
标签: javascript iframe asp-classic internet-explorer-9