1

我想从 iframe 获取父页面的元描述,到目前为止我所做的是我获取父页面的 url,将该 url 传递给 jquery 并尝试获取元描述,但它不起作用,我的代码如下

<script type="text/javascript">
    function addToInterest() {
        var URL = parent.window.location;
        var Title = parent.document.getElementsByTagName("title")[0].innerHTML;
        var MetaDescription = "";
        var Img_Src = "";
        var metaDesc = $.get('http://myURL.com', function (data) {
            MetaDescription = $(data).find('meta[name=description]').attr("content");
            Img_Src = $(data).find('link[rel=image_src]').attr("href");
        });
        alert(MetaDescription);
        alert(Img_Src);
    }
</script>

但是在这两个警报中,它什么都没有显示..我已经尝试过这里告诉的方法

但没有成功。请提供任何示例代码....

问候:穆达西尔

4

1 回答 1

-1

$.get是异步的。你alert的 s 都是在$.get调用后执行的,但此时 HTTP 请求可能仍在进行中。您需要将alerts 移动到回调函数中:

<script type="text/javascript">
    function addToInterest() {
        var URL = parent.window.location;
        var Title = parent.document.getElementsByTagName("title")[0].innerHTML;
        var MetaDescription = "";
        var Img_Src = "";
        var metaDesc = $.get('http://myURL.com', function (data) {
            MetaDescription = $(data).find('meta[name=description]').attr("content");
            Img_Src = $(data).find('link[rel=image_src]').attr("href");
            alert(MetaDescription);
            alert(Img_Src);
        });
    }
</script>

另请注意,您的代码将符合同源策略。默认情况下,除了脚本之外,您不能动态加载放置在其他主机上的资源。

于 2013-07-09T09:42:27.103 回答