【问题标题】:Get innerhtml from external page with Javascript使用Javascript从外部页面获取innerhtml
【发布时间】:2014-01-28 10:27:49
【问题描述】:

我正在尝试获取位于外部页面上的 DIV 的 innerHTML。使用这种javascript代码可以做到这一点吗?

    <script type="text/javascript">
        $(document).ready(function(){
            var html = document.getElementById("glr1").src='/my_page.html'.innerHTML ;
            alert(html);
        });
    </script>

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    jquery 加载函数允许您指定要加载的元素 id

    $('#result').load('ajax/test.html #container');
    

    http://api.jquery.com/load/

    【讨论】:

    • 我一开始就开始写,但我认为他想要 HTML,而不是加载那个元素。
    【解决方案2】:

    由于您使用的是 jQuery,因此应该非常接近:

     var html;
     $.get("my_page.html", function(data){
         html = $(data).find('#glr1').html();
     });
    

    【讨论】:

      【解决方案3】:

      您可以创建一个隐藏的 &lt;iframe&gt; 元素,将页面加载到其中,然后深入其中以定位您的内容。

       $(function() {
         $('body').append($('<iframe></iframe>', {
           css: { display: none },
           src: 'my_page.html',
           id: 'my_mage',
           load: function() {
             var html = $('#my_page').contents().find('whatever').html();
           }
         });
       });
      

      【讨论】:

        【解决方案4】:

        由于安全问题,您无法从外部 html 获取 html。

        您只能从位于同一域的框架中获取 html。

        【讨论】:

          【解决方案5】:

          您可以随心所欲,但我想说您必须先使用XMLHttpRequest 检索外部 HTML 文件。

          【讨论】:

            【解决方案6】:

            不完全是。 仅当所需页面位于同一域和同一协议上时,您才可以尝试将其嵌入 iframe 中,或者您可以使用 ajax。 jQuery 已经实现了通过 ajax:
            $.get(url+"#"+id); 仅检索外部页面的一部分的方法,其中 id 是 div 的 id。所以你会有类似的东西:

            var aux = window.location.href.split('/'),
            id = 'glr1',
            page = 'my_page.html';
            $.get(
              aux.splice(0,aux.length-1).join('/') + '/' + page + '#' + id,
              function(){alert(arguments[0]);}
            );
            

            【讨论】:

              猜你喜欢
              • 2017-09-23
              • 1970-01-01
              • 1970-01-01
              • 2019-03-06
              • 2018-11-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-09-15
              相关资源
              最近更新 更多