2014-01-20 6 views
1

Я пытаюсь загрузить несколько ссылок в скрытом плавающем фрейме, один за другим, но возникает ошибка в этой строкеОшибка доступа содержимое плавающем фрейме

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)); 
} 

Заранее спасибо :)

+0

Возможно, это невозможно из-за междоменной политики – zero298

ответ

0

Я думаю, что ваши очки Iframe на другой домен. У вас есть same-domain policy violation.

Политика позволяет сценарии, выполняемые на страницах, происходящих с того же сайта .

Просьба ознакомиться с этим wiki. Это расширенный ответ на вашу проблему.

+0

Есть ли способ обойти это? Можно ли разрешить междоменный доступ в разрешениях в моем манифесте каким-то образом? – herteladrian

+0

@ user1702529 посмотреть эту вики http://stackoverflow.com/questions/3076414/ways-to-circumvent-the-same-origin-policy – vooD

+0

Можете ли вы предоставить мне код, с которым я могу получить доступ к содержимому iFrame я создаю – herteladrian

Смежные вопросы