2009-02-22 3 views
2

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

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

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

Благодаря

ответ

1

Если ваши пользователи могут добавить строку сценария < на свой сайт, указывая на код на вашем сайте, вы можете довольно легко предложить механизм для создания плавающей (и изменяемой по размеру) 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 

изменить размер-состоянии ДИВ материал должен быть добавлен слишком

0

Я думаю, что jQuery library может быть то, что вам нужно - в частности, заглянуть в jQuery Ajax.

+0

Я попытался использовать jquery, но он работает только с тем же доменом. В противном случае это сработало бы отлично –

0

Вслед за то, что Scott Evernden объясняет, вы можете добавить тег <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 для междоменной связи.

Смежные вопросы