JQuery для объединения всех ссылочных страниц в корневую страницу? - PullRequest
1 голос
/ 13 ноября 2009

Звучит немного неясно, но ... Есть ли в Jquery метод (или просто прямой javascript) пошаговый просмотр всех внешних ссылок на файлы CSS и JS в файле HTML и замена ссылок содержимым файлов.

Так что вместо:

<link rel='stylesheet' id='style-css'  href='http://domain.com/style.css' type='text/css' media='all' />    
<script type='text/javascript' src='http://domain.com/js/domain.js'></script>

.. он берет все материалы из этих файлов и вставляет их в HTML-рендеринг, чтобы создать один большой HTML-документ ...?

<head>
...
<style type="text/css">
hr {color:sienna}
p {margin-left:20px}
body {background-image:url("images/back40.gif")}
.etc {color:red}
.etc {color:red}
.etc {color:red}
</style>

<script type="text/javascript">
function message()
{
alert("This is an alert");
}
etc
etc
</script>
</head>
<body>
...
</body>

Ответы [ 2 ]

2 голосов
/ 13 ноября 2009

Добавить этот скрипт ..

$("script").each(function() { 
    var script = $(this);
    script.load(script.attr("src"));
    script.removeAttr("src");
});
$("link[rel='stylesheet']").each(function() { 
    var link = $(this);
    link.after("<style type='text/css'></style>").next().load(link.attr("href"));
    link.remove();
});

.. и вы можете проверить это с помощью ..

alert($("head").html());

.. когда все это будет сделано.

(И я не вижу смысла в этом;)

0 голосов
/ 13 ноября 2009

Единственное место, которое я могу себе представить, имеет смысл, если вы запускаете Javascript на сервере, используя Rhino или подобное.

Вы можете делать то, что предлагает Сверре, и загружать файлы самостоятельно из браузера, вместо того, чтобы позволить браузеру сделать это, но я не вижу ни одного сценария, где это было бы полезно - у вас одинаковое количество фоновых запросов и в итоге с тем же результатом, поэтому единственное, что вы получаете, - это дополнительная работа для себя и, возможно, некоторая дополнительная задержка при отображении страницы. Или я неправильно понимаю вашу цель?

На сервере, с другой стороны, это может иметь смысл, поскольку браузер может сохранять множество запросов, получая все внешние ресурсы в одном документе. Это то, чего вы хотите достичь?

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