Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Подключение другого CSS при выводе через IFRAME (https://javascript.ru/forum/events/29880-podklyuchenie-drugogo-css-pri-vyvode-cherez-iframe.html)

Smokvin 15.07.2012 15:51

Подключение другого CSS при выводе через IFRAME
 
Необходимо, чтобы при стандартной загрузке сайта, подключался один файл CSS. А при загрузке сайта в IFRAME подключался другой файл CSS.
Подскажите, пожалуйста, как это можно реализовать?

Заранее благодарю за помощь.

Smokvin 15.07.2012 15:59

То есть по сути, насколько я понимаю, задача состоит в том как правильно составить условие
< Если IFRAME, то ... >

Помогите, пожалуйста, очень нужно.

lord2kim 15.07.2012 16:05

Цитата:

Сообщение от Smokvin (Сообщение 188977)
То есть по сути, насколько я понимаю, задача состоит в том как правильно составить условие
< Если IFRAME, то ... >

Помогите, пожалуйста, очень нужно.

if (top == self) { 
    alert("просто так");
} 
else {
    alert("во фрейме");
}

Smokvin 15.07.2012 19:12

Цитата:

Сообщение от lord2kim (Сообщение 188979)
if (top == self) { 
    alert("просто так");
} 
else {
    alert("во фрейме");
}

Это гениально )) Работает.
Спасибо огромное.

В JS совсем зелёный. Если не сложно, опишите, пожалуйста, подробнее за счёт чего оно работает именно так, а то не совсем понимаю.

Smokvin 15.07.2012 19:35

А есть ли возможность сделать вывод различного содержимого в зависимости от ID фрейма? то есть в фреуме с ID1 вывод одного CSS, в фрейме с ID2 вывод другого CSS. Ну и без фрейма просмотр - третий CSS.

lord2kim 15.07.2012 19:50

Цитата:

Сообщение от Smokvin (Сообщение 189063)
А есть ли возможность сделать вывод различного содержимого в зависимости от ID фрейма? то есть в фреуме с ID1 вывод одного CSS, в фрейме с ID2 вывод другого CSS. Ну и без фрейма просмотр - третий CSS.

Top позволяет получить объект window окна, в котором загружен фрейм.
Свойство self позволяет получить ссылку на объект window, в котором расположен скрипт, т.е. window = self.

if (top == self) {
    document.write('<link rel="stylesheet" type="text/css" href="style1.css">');
} else {
    document.write('<link rel="stylesheet" type="text/css" href="style2.css">');
}

Deff 15.07.2012 19:51

Smokvin,
Если фрейм не на том же домене - то из фрейма id нельзя поглядеть,

lord2kim 16.07.2012 12:03

Цитата:

Сообщение от Deff (Сообщение 189079)
Smokvin,
Если фрейм не на том же домене - то из фрейма id нельзя поглядеть,

а при чем здесь это? он имеет ввиду проверку загрузки его сайта просто во вкладке или во фрейме...


Часовой пояс GMT +3, время: 16:13.