Наложение только части внешней страницы с помощью jquery - PullRequest
1 голос
/ 08 марта 2010

Как я могу загрузить часть внешней страницы с наложением jquery?

У меня есть вызов aspx TipoFactor.aspx, у которого есть div внутри заполнителя содержимого, например:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <br />
        <div id="DivGeneral" runat="server" class="tablaPaddingFiveCeleste">

Как вы можете видеть, DivGeneral - это тот, который я хочу загрузить в оверлей, который определяется следующим образом:

<a href="TipoFactorSeleccion.aspx" rel="#overlay">
                <button type="button">
                    Pagina Externa</button>
            </a>
            <!-- overlayed element -->
            <div class="apple_overlay" id="overlay">
                <!-- the external content is loaded inside this tag -->
                <div class="contentWrap">
                </div>
            </div>
            <script type="text/javascript">
                $(function() {
                    // if the function argument is given to overlay, 
                    // it is assumed to be the onBeforeLoad event listener 
                    $("a[rel]").overlay({

                        expose: 'darkred',
                        effect: 'apple',

                        onBeforeLoad: function() {

                            // grab wrapper element inside content 
                            var wrap = this.getContent().find(".contentWrap");

                            // load the page specified in the trigger 
                            wrap.load(this.getTrigger().attr("href"));
                        }

                    });
                });
            </script>

Поскольку сейчас происходит загрузка всей страницы в оверлей, и это не очень хорошо для меня, потому что она наследуется от той же главной страницы, что и другая. Мне нужно сохранить эту мастер-страницу, потому что она имеет некоторые важные функции приложения.

Что я могу сделать?
Большое спасибо.

1 Ответ

2 голосов
/ 08 марта 2010

Предполагая, что я вас правильно понимаю, когда вы используете jQuery "load ()" API, вы можете проникнуть в выражение выбора jQuery в строке URL:

$('#loadDestination').load('http://some.where/content #onlyThisPart', function() { ... });

, который говорит jQuery искать '#onlyThisPart' в теле ответа, и это все, что он добавляет к вашему основному документу.

Таким образом, вы изменили бы свой код примерно так:

// ...
wrap.load(this.getTrigger().attr("href") + ' #divGeneral');

или любое другое значение "id", которое отмечает, где начинается ваш контент.

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