Iframe的替代方案

时间:2009-02-22 02:51:35

标签: asp.net ajax iframe

我一直在开发一项服务,允许用户使用iframe将数据库中的信息插入到他们的网站上。唯一的问题是iframe需要调整大小,这是大多数人已经知道的iframe的最大问题之一,以及我可以从iframe中访问父页面上的对象,反之亦然。

我想过制作一个asp.net web服务器来提供HTML服务并使用get请求访问它。但是这也存在问题,因为这些请求只能来自同一个域吗?

我需要知道的是从服务器检索包含客户评论的一小段HTML的最佳方法,并使用某种AJAX将其显示在他们的页面上。

由于

3 个答案:

答案 0 :(得分:1)

如果您的用户可以添加<脚本>在他们的网站上指向您网站上的代码,您可以相当轻松地提供一种机制,在您的网页上构建一个浮动(可调整大小)的DIV,您可以使用您网站上的内容jquery.load()...

例如: “要在您的网站上使用我的服务,请将以下行添加到< head>”

<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内容

答案 1 :(得分:0)

我认为jQuery library可能就是您所需要的 - 具体来说,请查看jQuery Ajax

答案 2 :(得分: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技术。