Я пытаюсь включить внешний файл .js в страницу, которую я создаю в Cocoon/XSLT.Включить внешние .js в Cocoon/XSLT
Dir Struct:
/my_project
/xsl/my_page.xsl
/js/my_scripts.js
sitemap.xmap
В Sitemap:
<map:match pattern="my_page.html">
<map:generate src="cocoon:/my_data.xml" />
<map:transform src="xsl/my_page.xsl" type="xslt2">
<map:parameter name="baselink" value="{baselink:SitemapBaseLink}" />
</map:transform>
<map:serialize type="html5" />
</map:match>
В my_page.xsl:
<xsl:param name="baselink" />
...
<script src="//code.jquery.com/jquery-1.11.1.min.js"> </script>
<script src="../js/my_scripts.js" type="text/javascript"> </script>
В my_scripts.js, у меня есть только одна линия для тестирования:
console.log('Success');
Когда я смотрю на источник в браузере, я вижу, что тег сценария включен, но приведенный выше оператор журнала не выполняется.
HTML:
<!DOCTYPE html SYSTEM "about:legacy">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
…
</head>
<body>
…
<script src="//code.jquery.com/jquery-1.11.1.min.js"> </script>
<script src="../js/my_scripts.js" type="text/javascript"> </script>
</body>
</html>
Таким образом, хотя тег скрипта в коде, я не уверен, что это на самом деле указывает на источник - или заявление журнала будет выполнять.
Когда я смотрю на раздел JavaScript на вкладке Сеть (Firebug), я вижу:
GET my_scripts.js 200 OK
И следующая запись в консоли:
<?xml version="1.0" encoding="UTF-8"?> my_scripts.js (line 1)
Есть ли что-нибудь еще/«специальный» мне нужно сделать, чтобы включить внешний .js в XSL?
Спасибо!
Пожалуйста, включите HTML это генерирует. Также включите директивы '', которые действуют для вашего XSLT. –
Tomalak
Добавлено в сообщение выше. – RobertFrenette
Пока вы смотрите на консоль браузера на вкладке «Сеть», вы видите, что JS-файл извлекается со статусом 200 (или 304) и правильным типом контента? – Tomalak