.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. |
Часовой пояс GMT +3, время: 03:43. |