2010-08-19 2 views
0

У меня есть страница PHP, обслуживающая контент в iframe на другом веб-сайте, и ему необходимо повторно загрузить контент внутри iframe в соответствии с взаимодействием с пользователем на веб-сайте хоста. Содержимое страницы, находящееся внутри Iframe, содержит несколько URL-адресов.Как добавить параметр к нескольким отображаемым URL-адресам?

Для того, чтобы взаимодействие Iframe работало, я думал об использовании параметра запроса в URL-адресах, который идентифицирует, что это вызов для Iframe ---, чтобы перезагрузить контент с помощью специального форматирования/стилей/поведения для веб-сайт хоста, а не рассматривать его как обычный запрос.

Что может быть простым решением для рендеринга большого количества URL-адресов на странице с помощью настраиваемого параметра запроса, без необходимости добавлять это вручную в конец каждой ссылки в соответствующих HTML-шаблонах?

Я нашел несколько идей на основе JavaScript, но они кажутся немного чрезмерными. Любые указатели будут оценены.

Спасибо.

ответ

2

Проверьте выходную функцию output_add_rewrite_var() PHP. Например, если вы вызываете output_add_rewrite_var ('my_var', 5), он добавит my_var = 5 ко всем локальным URL-адресам и < hidden name = "my_var" value = "5"/> ко всем формам.

+0

Спасибо, что научи меня об этой функции ... именно то, что мне нужно. – Tom

1

Хотя я думаю, что это аккуратнее, чтобы сделать это в PHP, в JavaScript вы можете использовать что-то вроде

function addQueryPart() { 
    var allAnchors = document.getElementsByTagName('a'); 
    var i = allAnchors.length, href; 

    while (i--) { 
     href = allAnchors[i].href; 
     if (href.indexOf('?') > -1) 
      href += '&'; 
     else 
      href += '?'; 

     allAnchors[i].href = href + "inframe=true"; 
    } 
} 

вам нужно что-то, что работает с хэшей ли, тоже (как foo#withinPage)?

+0

Спасибо за это - решение php выше было более подходящим, но я отметил это в другое время. – Tom

 Смежные вопросы

  • Нет связанных вопросов^_^