Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.05.2012, 15:46
Новичок на форуме
Отправить личное сообщение для BoL4oNoK Посмотреть профиль Найти все сообщения от BoL4oNoK
 
Регистрация: 04.05.2012
Сообщений: 1

.load() и IE
Добрый день. Возникла проблема с функцией $.load()
Вот код
function LoadPage(el) {
var url = $(el).attr("href");
var path;
if (/(\w){0,}\x2F([a-z0-9\x2E\x5F]){1,}.php(.*)/.test(url)) {
var dir = url.replace(/(.*)\x2F([a-z0-9\x2E\x5F]){1,}\x2Ephp(.*)/, "$1/inc/");
var file = url.replace(/(.*)\x2F([a-z0-9\x2E\x5F]+)\x2Ephp(.*)/, "$2.php");
var opt = url.replace(/(.*)\x2F([a-z0-9\x2E\x5F]){1,}\x2Ephp(.*)/, "$3");
path = url.replace(/(.*)\x2F([a-z0-9\x2E\x5F]{1,})\x2Ephp(.*)/, "$1/inc/$2.php$3");
//alert(dir+"\r\n"+file+"\r\n"+opt+"\r\n"+path);
} else path = "/inc/index.php";
alert(path);
$("div#content").load(path+" #js_inc",{'test':Math.random()});
//$("div#content").children("div#content").removeAttr("id");
return false;
}


Есть меню, состоящее из 2 ссылок:
<a href="/">Главная</a>
<a href="/error.php">Error</a>


И 2 страницы, соответственно:
index
<?php
session_start();
    
    if (!isset($_CORE) || !is_a($_CORE, 'BSM_CORE')) $_CORE = new BSM_CORE();
    if (!isset($_TMPL) || !is_a($_TMPL, 'BSM_TMPL')) $_TMPL = new BSM_TMPL("pages");

    
    // Made this page    
    $_DATA['CONTENT'] = "Inc test";
    
    // Return new page
    header("Content-type: text/html; charset=utf-8");
    echo $_TMPL->display_inc($_DATA);
?>


error
<?php
    $_err = (isset($err)) ? intval($err) : 0;
    var_dump($_err);
    $error = '';
    $_err_id = array (400=>"Не удалось обработать Ваш запрос. Проверьте правильность запроса или <a href=\"/\">Вернуться на главную</a>",
        401=>"Требуется авторизация.",
        403=>"Доступ запрещен.<br /> Вы попытались открыть файл, доступ к которому запрещен сервером.<br /><a href=\"/\">Вернуться на главную</a>",
        404=>"Файл не найден.<br /> Вы запросили файл(каталог), который отсутствует на данном сайте или в данном каталоге.<br /><a href=\"/\">Вернуться на главную</a>",
        1=>"Произошла ошибка подключения к БД.",
        2=>"Произошла ошибка шаблонизатора.",
        3=>"Произошла ошибка шаблонизатора.");
    if (array_key_exists($_err, $_err_id)) {
        $error = "Произошла ошибка $_err.<br />$_err_id[$_err]";
    }
    
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Строгий синтаксис XHTML -->
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- По данному адреcу расположен справочник по пространству имён XHTML -->

<head>
    <title><?php echo ($error != '') ? "Произошла ошибка № $_err" : "Технические работы" ?></title>
    <!-- title -->
    <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
    <style>
        body{
            background-color:#ffffff;
            margin: 0 0 0 0;
            padding:0 0 0 0;
        }
        
        /* Основные блоки */
        #content_web{
            width:350px;
            margin: 0 auto;
            margin-top:10px;
        }
        
        .content_error{
            margin-top:100px;
            text-align:center;
        }
        
        .content_error a{
            text-decoration:none;
            color:#009900;
        }
        
        .content_error a:hover{
            text-decoration:underline;
        }

    </style>
</head>


<body>
    <div id="js_inc">
        <div class="content_error">
            <?php echo ($error != '') ? $error : "На сайте проводятся технические работы. Приносим свои извинения. <br /><a href=\"/\">Проверить доступность сайта?</a>" ?>
        </div>  
    </div>
</body>
</html>


В IE страницу error грузит нормально, а index ни в какую. В чем ошибся?
Если написать так:
function LoadPage(el) {
var url = $(el).attr("href");
var path;
if (/(\w){0,}\x2F([a-z0-9\x2E\x5F]){1,}.php(.*)/.test(url)) {
path = url.replace(/(.*)\x2F([a-z0-9\x2E\x5F]{1,})\x2Ephp(.*)/, "$1/inc/$2.php$3");
//alert(dir+"\r\n"+file+"\r\n"+opt+"\r\n"+path);
} else path = "/inc/index.php";
alert(path);
$("div#content").load(path+" #js_inc", function(data){alert(data);});

}

То алерт выдает страницу, но в div#content ничего не подставляется. Причем именно в IE.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция .load() 095 jQuery 1 17.04.2012 17:20
.Load() и затем AppendTo() dddaaa11 jQuery 5 07.11.2011 00:23
Не работает контент, загружаемый с помощью .load Breaker91 jQuery 0 19.08.2011 10:02
callback для .load() MadGest Библиотеки/Тулкиты/Фреймворки 0 18.08.2011 11:56
.load() - как в загруженном содержимом использовать jquery? rbooz jQuery 14 25.05.2010 12:03