Ифраме Вопрос - PullRequest
       15

Ифраме Вопрос

0 голосов
/ 06 августа 2011

Если я контролирую содержимое двух страниц (PageA и PageB), одну из которых я хочу загрузить в iframe (PageB), есть ли какой-нибудь javascript, который я могу ввести на PageB, который будет извлекать стиль из родительского (PageA))?Мне нужны два варианта стиля: один для загрузки страницы PageB в iframe и один для загрузки страницы PageB самостоятельно.

Ответы [ 2 ]

1 голос
/ 06 августа 2011

Решение, которое я мог видеть, - это загрузить стили для обоих файлов из внешнего файла и установить атрибут src IFrame для включения переменной GET как таковой (в остальной части этого примера предполагается, что файл имеет имяindex2.php):

<iframe src="index2.php?iframe=Y" ... />

Оттуда, к вершине index2.php, должно выглядеть примерно так:

<?php

     if ($_GET["iframe"] == "Y") {
         echo "<link href='global.css' type='stylesheet' />";
     } else {
         echo "<link href='specific.css' type='stylesheet' />";
     }

....

?>

Хотя решение Криса также верно, я бы не стали никогда не полагайтесь на то, что Javascript будет работать одинаково во всех браузерах, независимо от того, был ли он протестирован или нет.По крайней мере, так вы знаете, что файл загружается в IFrame.

0 голосов
/ 06 августа 2011

Я бы сделал это следующим образом: проверьте, загружена ли ваша страница во фрейме или нет, и выберите ваши стили на основе этого, а не пытайтесь извлечь стили из родительской страницы.

Вы можете определить, находитесь ли вы в кадре, с помощью кода этого типа:

if ( top.location.href !== window.location.href ) { /* In frame */} else { /* Not in frame */ }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...