Joomla включает CSS, который заставляет отображать пустую страницу [закрыто]

Каждый раз, когда я пытаюсь загрузить страницу входа /index.php?option=com_users&view=login, я вижу только белую страницу. Когда я смотрю исходный код сайта, который доставляется, я вижу в заголовке оператор CSS html {display: none} , из-за которого вся страница не отображается:

<head>

    <base href="<domain>/index.php" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta name="generator" content="Joomla! - Open Source Content Management" />
  <title>xxxxxxxxx</title>
  <style type="text/css">
html { display:none }
  </style>
...

Все остальные страницы отображаются без какие-то проблемы. Кроме того, это относится к специальному шаблону: как только я активирую один из стандартных шаблонов, страница входа в систему работает.

Я уже мог найти его в части кода jdoc: include type = "head" в ìndex.php и попытался выяснить, где находится соответствующий head.php получает его, но, поскольку у меня нет опыта работы с PHP, я застрял здесь.

Кто-нибудь подскажет, куда идти или (даже лучше)объяснение или исправление для этого?

Я использую Joomla 2.5, если это важно.

-1
задан 22 December 2012 в 00:06
1 ответ

Разработчик PHP здесь. Это может быть связано с каким-то кодом в файле behavior.php в разделе library \ joomla \ html \ html.

Если ваша страница входа находится внутри фрейма, кажется, сначала она скрывает страницу, а затем отображает ее с помощью JavaScript, когда браузер завершил загрузку страницы (и ее ресурсов), а также вырвал сайт из фрейма.

У вас случайно не отключен JavaScript в вашем браузере? Это могло вызвать проблему.

/**
 * Break us out of any containing iframes
 *
 * @param   string  $location  Location to display in
 *
 * @return  void
 *
 * @since   11.1
 */
public static function noframes($location = 'top.location.href')
{
    // Only load once
    if (isset(self::$loaded[__METHOD__]))
    {
        return;
    }

    // Include MooTools framework
    self::framework();

    $js = "window.addEvent('domready', function () {if (top == self) {document.documentElement.style.display = 'block'; }" .
        " else {top.location = self.location; }});";
    $document = JFactory::getDocument();
    $document->addStyleDeclaration('html { display:none }');
    $document->addScriptDeclaration($js);

    JResponse::setHeader('X-Frames-Options', 'SAME-ORIGIN');

    self::$loaded[__METHOD__] = true;
}
2
ответ дан 5 December 2019 в 19:31

Теги

Похожие вопросы