2013-07-09 38 views
1

我想从iframe中获取父页面的元描述,现在我所做的是现在我得到父页面的url,将该url传递给jquery并尝试获得meta描述,但它不工作,我的代码如下从URL使用jQuery或javascript获取元描述

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

但在这两个警报,它说明不了什么..我已经尝试过的方法告诉here

,但没有全成。 任何示例代码请....

问候: Mudassir

回答

-1

$.get是异步的。您的alert这两个短信都是在$.get调用后执行的,但此时HTTP请求仍可能正在进行。你需要移动回调函数里面你alert S:

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

另外请注意,你的代码将达到同源策略。默认情况下,您不能动态加载放置在其他主机上的资源,而不是脚本。

+0

Olegas!我试过了,但它也没有工作... –

+0

然后你试试这种方法,警报是否出现在所有的事件(带有undefined的事件)? – Olegas

+0

我已经尝试了两种方式,你告诉,但没有工作任何方式..如果我把警报放在函数中,它根本不会得到执行..并且在函数之外,它会发出警报,但不会在消息中显示任何内容。 .. –