Как поменять местами вертикальные позиции двух кадров в наборе кадров, используя jQuery. - PullRequest
1 голос
/ 31 июля 2011

У меня есть iframe, который я использую для отображения страниц HTML, опубликованных в Excel.Этот iframe загружает документ, содержащий набор фреймов, который, в свою очередь, содержит два фрейма.Нижний фрейм содержит вкладку для листов в документе Excel, и я хотел бы разместить ее сверху, там, где она сразу видна пользователям.

Мой содержащий iframe:

<iframe name="excel-frame" src="@Url.Content(Model.RelativeHttpPath + "/BettingCards.htm")" width="100%" height="100%"></iframe>

Сокращенный BettingCards.htm документ, загруженный в вышеупомянутый iframe:

<html>
    <frameset rows="*,39" border=0 width=0 frameborder=no framespacing=0>
        <frame src="bettingcards_files/sheet001.htm" name="frSheet">
        <frame src="bettingcards_files/tabstrip.htm" name="frTabs" marginwidth=0 marginheight=0>
            <noframes>
                <body>
                    <p>This page uses frames, but your browser doesn't support them.</p>
                </body>
        </noframes>
    </frameset>
</html>

Я мог бы, если его достаточно мучить, добиться этого, манипулируя DOM и переписывая файл HTML, но ябыло бы лучше просто запустить код jQuery после загрузки страницы.

Ответы [ 2 ]

0 голосов
/ 31 июля 2011

Попробуйте это

$(function(){

 $("iframe[name=excel-frame]").load(function(){
   var iframeContents = $(this).contents();
   iframeContents.find("iframe[name=frTabs]").after(iframeContents.find("iframe[name=frSheet]"));
 });

});
0 голосов
/ 31 июля 2011

Что-то вроде:

$('frameset frame:first').appendTo($('frameset'));

Должен сделать свое дело.

Живой пример: http://jsfiddle.net/ambiguous/ZrxRb/

Внимание, я использую изображения для содержимого кадра, а http://placedog.com/ сегодня выглядит немного медленным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...