【问题标题】:Alternatives to Iframeiframe 的替代品
【发布时间】:2009-02-22 02:51:34
【问题描述】:

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

我曾想过制作一个 asp.net 网络服务来服务器化 HTML 并使用 get 请求访问它。但是这也有问题,因为这些请求只能来自同一个域?

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

谢谢

【问题讨论】:

    标签: asp.net ajax iframe


    【解决方案1】:

    如果您的用户可以在他们的网站上添加一个

    示例: "要在您的网站上使用我的服务,请将以下行添加到您的

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我尝试过使用 jquery,但它只适用于同一个域。否则它会完美地工作
      【解决方案3】:

      根据Scott Evernden 的解释,您可以添加&lt;script&gt; 标签,例如:

      <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 技术。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-27
        • 2012-10-24
        • 1970-01-01
        • 2023-01-11
        • 1970-01-01
        • 1970-01-01
        • 2012-03-09
        相关资源
        最近更新 更多