簡體   English   中英

訪問iFrame的內容時出錯

[英]Error accessing contents of iFrame

我試圖在隱藏的iFrame中加載多個鏈接,一個接一個,但此行出現錯誤

frame.contentDocument.getElementsByClassName('radiopad')[0].getElementsByTagName('input')[0].checked = true;

聲明:

Uncaught TypeError: Cannot call method 'getElementsByTagName' of undefined 

本質上,我想在iFrame中加載鏈接,然后在加載t的頁面上填寫表單並提交(此代碼已經過測試並且可以正常工作),然后,一旦完成,就繼續做同樣的事情下一個鏈接。 我目前無法獲取iFrame的“文檔”(不確定是否是所謂的)。

如果需要,這是我的整個代碼段。

frame = document.createElement('iframe');
frame.style.display = 'none'
document.body.appendChild(frame);
for (var i = 0; i < feedbackLinks.length; i++) {
    frame.setAttribute('src', feedbackLinks[i]);
    console.log(frame.contentDocument);
    while (frame.src != 'http://feedback.ebay.com/ws/eBayISAPI.dll') {
        frame.contentDocument.getElementsByClassName('radiopad')[0].getElementsByTagName('input')[0].checked = true;
        frame.contentDocument.getElementById('comment00').value = 'Great Seller';
        var starRatings = ['v4-15', 'v4-27', 'v4-32', 'v4-37'];
        for (var ID = 0; ID < starRatings.length; ID++) {
            if (frame.contentDocument.getElementById(starRatings[ID]) != null) {
                frame.contentDocument.getElementById(starRatings[ID]).click();
            }
        }
        frame.contentDocument.getElementById('but_formSave').click();
    }
    console.log("completed link " + (i + 1));
}

提前致謝 :)

我認為您的iframe指向其他域。 您有違反同域策略的行為

該策略允許腳本在源自同一站點的頁面上運行。

請閱讀此Wiki 它擴展了您的問題的答案。

暫無
暫無

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

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