Как получить iframe для загрузки контента по ссылке на другую страницу? - PullRequest
2 голосов
/ 14 января 2011

Вот сценарий:

У меня есть ссылка на "page1.html", которую я хочу отобразить в фрейме другой ссылки "page2.html".

Как мне это сделать?

1 Ответ

0 голосов
/ 14 января 2011

Четвертая и последняя попытка!

Проблема с вашей страницей следующая

Ваша проблема в том, что ваша ссылка [Смотрите приемных собак] указывает на 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. Некоторая отладка легко идентифицирует вашу проблему, и она не имеет ничего общего с тем, о чем вы спрашивали изначально, просто вы изменили код без понятия о том, что он делал ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...