Подключение javascript файлов при условии, что сайт открыт в iframe

Главные вкладки

Аватар пользователя Quty Quty 30 января 2014 в 1:33

Здравствуйте.
Мне необходимо подключать два Javascript файла ко всем страницам сайта, когда сайт открывается через iframe (if(top!=self)). То есть, чтобы когда сайт открыт напрямую (не через iframe), эти файлы не грузились пользователем, так как они очень объёмные и нужны только при открытии файла через iframe.

Подскажите, пожалуйста, как это можно сделать.
Заранее благодарен любой помощи, ссылкам, намёкам и подмигиваниям.

Комментарии

Аватар пользователя Quty Quty 30 января 2014 в 18:59

ХулиGUN wrote:
iframe в любом случае будет загружаться вместе с основной страницей сайта. Попробуйте сформулировать свои мысли без абстракций на простом человеческом языке, возможно Вы путаетесь в определениях.

Возможно определения некоторые и не точные на 100%, но на мой взгляд всё довольно по-человечески описано. В любом случае, ещё раз в тезисах:

1. Есть сайт.
2. Он иногда отображается через iframe.
3. Есть два файла *.js
4. Нужно подключить эти два JS файла так, чтобы они загружались браузером только, когда сайт открыт через IFRAME.
5. Когда сайт открыт без IFRAME подключение этих двух файлов не должно происходить. Их вовсе не должно быть в исходном коде сайта (следовательно не должно быть их скачивания браузером и выполнения).



Я знаю как это реализовать костылём! Можно в шаблон сайта напрямую вставлять скрипты (document.write) по условию, что сайт открыт в Iframe:

<script type="text/javascript">
if(top!=self) { // Если сайт открыт через IFRAME
 document.write('<script src="/js/script1.js"></'+'script>'); // Добавить на страницу скрипт 1
 document.write('<script src="/js/script2.js"></'+'script>'); // Добавить на страницу скрипт 2

}
</script>

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