2017-04-25 120 views
0

我有一個嵌入標記的標記想訪問#文檔的內容。如何從嵌入標籤訪問#document的dom元素?

enter image description here

試圖穿越直到嵌入標籤後取能不能夠訪問內部節點但是有可用的功能getElementByTagName()getElementByClassName(),但它沒有幫助

var embedContent = document.getElementById('embed1') 
var parentContents = x.parentElement.parentNode.lastElementChild.getElementsByTagName('embed') 
> [function, embed1: function] 

以下能夠訪問嵌入標籤之後如何獲取各個標籤的值

enter image description here

enter image description here

是否有實現這一目標??如果是,請提供任何URL或實例替代方法。

回答

3

<embed>標記的內容基本上被鎖定Shadow DOM - 這是Chrome可以訪問的一個全新文檔,但您不能。

可以很容易地檢查你可以訪問哪些屬性:

var xObj = document.getElementById('xObj'); 
 

 
for (var p in xObj) { 
 
    var value = null; 
 
    try { 
 
    value = xObj[p]; 
 
    } catch (err) {} 
 

 
    if (value) 
 
    console.log(p, value); 
 
}
<embed id="xObj" src="http://stackoverflow.com"> </embed>

你最好的選擇,以實際得到的HTML是加載的內容自己:

var response = await fetch(document.getElementById('embedTag').src); 
+0

好吧,有沒有什麼辦法可以訪問其他網站的標記,我嘗試了同樣原因的iframe,所以我搬到這裏嵌入標籤也不可能。如果你知道o f任何其他可能的方式在這裏分享@Keith – rselvaganesh

+0

@rselvaganesh任何你發現,繞過相同的原產地政策將是一個安全錯誤,並可能很快補丁。 – Keith