Альтернативы Ифраме - PullRequest
       8

Альтернативы Ифраме

2 голосов
/ 22 февраля 2009

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

Я думал о создании веб-службы asp.net для сервера HTML и доступа к нему с помощью запроса get. Однако это также имеет проблему, так как этот запрос может быть сделан только из одного домена?

Что мне нужно знать, так это лучший способ получить небольшой фрагмент HTML-кода, содержащий отзывы клиентов, с сервера и отобразить его на своей странице, используя своего рода AJAX.

Спасибо

Ответы [ 3 ]

1 голос
/ 22 февраля 2009

если ваши пользователи могут добавить на свой сайт строку , указывающую на код на вашем сайте, вы можете довольно легко предложить механизм для создания плавающего (и изменяющего размер) DIV на своей странице, с помощью которого вы jquery.load () контент с вашего сайта ...

Пример: «Чтобы использовать мой сервис на вашем сайте, добавьте следующую строку в ваш "

<script type='text/javascript' src='http://mysite.com/scripts/dataget.js /> 

затем добавьте ссылку или кнопку в любом месте и присвойте ей класс 'get-date-from-mysite'

< input type='button' value='Click to see the data' class='get-data-from-mysite' />

-

Затем в этом сценарии вы делаете (что-то вроде):

$(function() {
    $('.get-data-from-mysite').click(function() {
        $('body').append("<div id='mydiv' 'style=position:absolute; z-index:999; left:                 ...

        $('#mydiv').load(' .... // url that sends html for content
    });
   ...etc

тоже нужно добавить изменяемый размер div-элементов

0 голосов
/ 22 февраля 2009

Следуя объяснениям Скотта Эверндена , вы можете добавить тег <script>, например:

<script id="my_script_tag" type='text/javascript' src='http://mysite.com/scripts/dataget.js' />

Внутри dataget.js вы можете просто ссылаться на сам тег сценария, используя его "id" (document.getElementById("my_script_tag");) и заменить его (insertBefore()) соответствующими данными.

Чтобы получить данные с вашего сервера, вы можете использовать JSONP (также много вещей на SO), который является техникой ajax для междоменной связи.

0 голосов
/ 22 февраля 2009

Я думаю, что библиотека jQuery может быть тем, что вам нужно, в частности, посмотрите на jQuery Ajax .

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