Diazo external src в теге <script> нарушает rules.xml
обзор
При создании пользовательской карты Google Maps на вашем сайте вы должны включить библиотеку API Google, которая размещена на их серверах.
Чтобы максимально ускорить процесс, я использую условные правила для включения различных скриптов на страницах в зависимости от того, что нужно.
Боюсь, что в процессе этого я обнаружил ошибку с Диазо, хотя, если я ошибаюсь, пожалуйста, дайте мне знать.
ПРИМЕЧАНИЕ. Я уже подал отчет об ошибке. Я просто подумал спросить здесь, если у кого-то был подобный опыт, и он знает, как обойти или решить проблему.
Эта проблема
Когда вы включаете src, который не является локальным, он, кажется, нарушает мой файл правил Diazo, поэтому сайт Plone отображает тему SunBurst по умолчанию вместо моей пользовательской темы Diazo.
Правило, которое нарушает все следующее:
<rules css:if-content="#map">
<append theme="/html/body">
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXX&sensor=false"></script>
</append>
</rules>
Я попытался удалить https: из правила, оставив только http:, я также попытался удалить его полностью, оставив две косые черты. Ничего из этого не сработало. У меня есть другие сценарии, содержащиеся в этом правиле, и когда я закомментирую выше <script>
тег, он работает, и они загружены в порядке.
Работа вокруг
Я знаю, что могу просто дать сценарию идентификатор, добавить его в свой HTML-шаблон и использовать свой rules.xml
удалить его, если не соблюдаются мои правила, но я бы предпочел, чтобы Диазо добавил сценарий, если это было необходимо, вместо того, чтобы отбрасывать его каждый раз, когда обслуживается страница.
Любые идеи, почему это внешнее <script>
src=
атрибут дает мне такой агро?
Спасибо!
1 ответ
Я думаю, что ваш файл не на 100% действительный XML (например, с помощью URL, который содержит амперсанд).
Попробуйте проверить это в валидаторе.