Изменить код JavaScript для использования на динамических страницах - PullRequest
2 голосов
/ 24 ноября 2011

Спасибо за ваши ответы. Извините, если это не имеет смысла, я попытаюсь снова, я, вероятно, усложняю вещи!

У меня есть frameset index.html, с top.php с просто радиопотоком, под ним - index.php, который является полным сайтом joomla с навигацией и всем прочим.

Проблема в том, если пользователи находят сайт через поисковик. Это приведет их к index.php, и они не получат набор фреймов с top.php. Я использовал этот код в top.php и index.php:

if(self.location==top.location)self.location="index.html";

, который отлично работает, за исключением того, что пользователь переводит index.php независимо от того, какую страницу он искал через поисковую систему.

Итак, я нашел эту статью (см. Раздел «Лучший способ»), в которой показано, как ее кодировать, поэтому, если пользовательский контент находится в файле about-us.html, он перенесет вас на эту страницу, но все равно обеспечит ее в наборе кадров. http://scriptasylum.com/tutorials/frameredirect/frameredirect.html

Я бы хотел что-то подобное, но, к сожалению, из-за того, что это веб-сайт Joomla, у меня нет page1.html, page2.html и т. Д., Чтобы я мог добавить код и соответственно изменить его согласно их инструкциям. У меня есть только одна страница index.php, которая генерирует страницы динамически «на лету»

Так кто-нибудь знает, как я могу делать то, что я хочу ... Набор кадров составляет http://www.housocial.com/new/index.html

Только часть Joomla http://www.housocial.com/new/index.php

Еще раз спасибо

1 Ответ

0 голосов
/ 24 ноября 2011

Вы можете извлечь имя файла через RegExp (я не уверен, что это то, что вы просите)

if(self==top)
{
 self.location="index.html?"+encodeURIComponent(location.href.match(/\w+\.html$/));
}

Более гибкое решение, которое заботится о GET-параметрах и привязках:

(
  function(url,pattern,query,hash)
  {
    var filename=location.pathname.match(pattern);
    if(filename)
    {
      url+=filename;
      if(query && location.search)
      {
        url+=location.search;
      }
      if(hash)
      {
        url+=location.hash
      }
    location.href=url;
    }
  }
)('http://www.housocial.com/new/index.php/', //target-URL
  /\w+\.html$/,       //pattern to search for
  1,                  //include QUERY_STRING
  1                   //include hash
  )
...