1

我有一个可以正常工作的经典 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链接有效的事实让我想知道问题是否出在其他地方......???任何建议,将不胜感激。

谢谢。

4

1 回答 1

0

您可以尝试使用 Msxml2.ServerXMLHTTP 而不是 WinHttp.WinHttpRequest。查看Msxml2.ServerXMLHTTP 和 WinHttp.WinHttpRequest 之间的区别?对于 Msxml2.ServerXMLHTTP 之间的区别。

在这个关于 ASP 的优秀网站上,您可以获得大量关于如何使用 Msxml2.ServerXMLHTTP 的代码示例,这是两者中最新的: http ://classicasp.aspfaq.com/general/how-do-i-read-the-contents -of-a-remote-web-page.html

关于 IE9 问题:将电脑与旧版 IE 或其他浏览器连接,以测试浏览器是否是罪魁祸首。同样在 IE9(或在 Firefox/Firebug 中更好)使用开发工具 (F12) 并在 iFrame 的内容加载时观察控制台是否有错误。

恐怕您获取动态页面的方法效率不高,ASP 本身可以做到这一点,您可以使用例如 div 而不是 iframe 并将内容替换为您从请求中获得的内容。我需要查看更多代码才能提供更好的建议。

于 2012-06-18T21:00:04.587 回答