0
我正在嘗試編寫一個腳本來爲我的iframe元素提供動態標題,而不是硬編碼title屬性。所以我想抓取iframe的src並加載該對象,然後獲取該對象的標題元素。我嘗試使用iframe.contentDocument,但我得到了跨域安全錯誤。如何獲取加載的iframe標題元素?
我正在嘗試編寫一個腳本來爲我的iframe元素提供動態標題,而不是硬編碼title屬性。所以我想抓取iframe的src並加載該對象,然後獲取該對象的標題元素。我嘗試使用iframe.contentDocument,但我得到了跨域安全錯誤。如何獲取加載的iframe標題元素?
正如消息所述,出於安全原因(如此),您無法訪問其他域的內容。解決這個問題的一個方法是使用ajax加載iframe
的站點,並從響應中讀取標題。 由於標題標籤不是文檔的一部分(=正文),因此無法使用$('title', dom)
或dom.find('title')
。但是你可以像下面的例子那樣檢索它。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<style type="text/css">
</style>
<script type="text/javascript">
$(function(){
var url = $('iframe').prop('src');
$.get(url)
.done(function(html){
var dom = $(html);
var title = dom
.filter(function(i,d){
return d.tagName == 'TITLE';
})
.text();
$('h1 span').text(title);
})
;
});
</script>
</head>
<body>
<h1>Title: <span></span></h1>
<iframe src="http://www.golem.de" style="width: 800px; height: 600px;" />
</body>
</html>
試試這個http://stackoverflow.com/a/1570900/4965214 –