簡體   English   中英

獲取Iframe的內部元素

[英]Fetching inner element of Iframe

我有一個簡單的html頁面。 它有一個iframe到其他網站。 我想更改iframe中的nesteed錨標記的顏色。 可以通過javascript訪問Iframe元素

如果其他頁面位於其他域中,則由於跨域安全性,將無法從主頁面編輯iframe的HTML內容。

有解決方法,例如在URL中編寫要進行的更改。 但這真的很臟。

如果它在同一個域中,我建議使用,例如:

$('div', $('iframe')[0].contentWindow.document)

獲取iframe中的所有div元素

我是通過使用以下代碼完成的

function loadFrame(){document.getElementById('pcl_frame')。contentWindow.document.getElementsByTagName('a')[0] .style.color ='blue'; }

你需要JavaScript。 它與在父頁面中執行的操作相同,除非您必須在JavaScript命令前添加iframe的名稱。

請記住,相同的原始策略適用,因此您只能對iframe來自您自己的服務器執行此操作。

frame1.$('mydiv').style.border='1px solid #000000'

要么

frame1.$('mydiv').addClassName('withborder')

您可以使用iframe獲取elemets的值

 $('#iframeId').contents().find('#id-of-element-inside-iframe');

但價值觀無法改變。

只有一個簡單的解決方案,只有在擁有iframe中的內容時才能使用。

在您的父源中添加:

<script type="text/javascript">
    var innerDocument = null;
</script>

在你的iframe中添加:

<script type="text/javascript">
    parent.innerDocument = document;
</script>

加載iframe后,您現在可以使用innerDocument來定位iframe的文檔。 這規避了跨域安全性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM