загрузка внешнего файла с помощью css без изменений? - PullRequest
0 голосов
/ 26 июня 2009

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

Вот копия функции, которую я написал для вызова внешних страниц на страницу просмотра:

$(function() {
$('a.dock-item2').click(function() { // click on an anchor with the dock-item2 class
    $("#page").remove();             // remove what's in the viewer already
    var href = $(this).attr('href'); // grab the external file path and name
    $('<div id="page" />').load(href, function() { // create a new div and load 
                                                       // the page content
    $(this).hide()               // just stuff to make a nice transition...
    .appendTo('#viewer')
    .fadeIn(1000);
    });                 
return false;
})});

Я бы хотел применить это строго к рассматриваемому div ... но, возможно, это не лучшая вещь. Должен ли я рассмотреть загрузку этого материала в iframe вместо этого? Может быть, это просто пятница, и я больше не могу мыслить рационально ...

Заранее спасибо за помощь / совет !!

Ответы [ 2 ]

0 голосов
/ 26 июня 2009

Не используется JavaScript. Возможно, в php используются функции fopen fwrite, но я, конечно, думаю, что это связано с большими накладными расходами.

0 голосов
/ 26 июня 2009

Получение не связанных с телом тегов (тегов, которые не существуют в теле) с удаленных страниц сложно / невозможно с функциями jQuery ajax. При этом, если это так, вы можете настроить PHP-скрипт локально, чтобы действовать в качестве посредника. Он может прочитать содержимое страницы, найти файл css, а затем вернуть его или даже вернуть содержимое самого файла css - тогда вы можете динамически разместить его на своей странице. Это не должно быть слишком сложно, особенно если вы используете что-то вроде phpQuery для захвата тега <script> или даже PHPSimpleHTMLDOMParser, который похож на phpQuery.

Все гипотетически, но это может сработать;) Конечно, если вы просто хотите загрузить фреймы, вы можете. Это сохранит работоспособность всех ссылок внутри iframe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...