如何从另一个页面上的链接加载iframe?

时间:2011-01-13 22:08:46

标签: javascript html iframe

以下是该方案:

我在“page1.html”上有一个链接,我想在另一个链接“page2.html”的iframe上显示。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

第四次也是最后一次尝试!

您的信息页存在以下问题

您的问题是您的链接[请参阅可采用的狗]指向http://hssv.convio.net/PageServer?pagename=adoption_available?http://adopt.hssv.org/search/searchResults.asp?task=search&searchid=&advanced=&s=adoption&animalType=3%2C16&statusID=3&submitbtn=Find+Animals

当我去的时候 http://hssv.convio.net/PageServer?pagename=adoption_available, 我被重定向到了 http://hssv.convio.net/site/PageServer?pagename=page_not_found

因此我假设正确的链接是http://hssv.convio.net/site/PageServer?pagename=adoption_available(是的,正确加载了一个页面,你在链接中缺少/ site /)

现在问题的第二部分。你的包含iframe的页面需要加载到iframe中的页面名称是'?'之后的所有内容,之前很好,因为你没有在URL中使用任何其他参数(实际上并不好,因为它打破了容易)

所以你的链接应该是(注意作为参数传递的url应该是url编码的)

http://hssv.convio.net/site/PageServer?pagename=adoption_available&content=http%3A%2F%2Fadopt.hssv.org%2Fsearch%2FsearchResults.asp%3Ftask%3Dsearch%26searchid%3D%26advanced%3D%26s%3Dadoption%26animalType%3D3%2C16%26statusID%3D3%26submitbtn%3DFind%2BAnimals

包含iframe的页面应将LoadContent修改为以下内容。

function LoadContent() {
  var url = getParams()['content'];
  if (url) {
    LoadIFrame(url);
  }
}

function getParams() {

  var paramMap = {};
  if (location.search.length == 0) {
    return paramMap;
  }
  var parts = location.search.substring(1).split("&");

  for (var i = 0; i < parts.length; i ++) {
    var component = parts[i].split("=");
    paramMap [decodeURIComponent(component[0])] = decodeURIComponent(component[1]);
  }
  return paramMap;
}

最后,我不想听起来很粗鲁,但在你被指派修改这些页面之前,你似乎需要做一些学习。这些都是HTML,HTTP和JS的基本概念。一些调试很容易识别你的问题,它与你最初提出的问题无关,只是你修改了代码而不知道它在做什么......