2015-10-03 8 views
0
<script> 
function getDef() { 
    document.getElementById("defCanvas").innerHTML=document.getElementById("invisibleDefFrame").contentWindow.document.getElementsByClassName("def-content")[0].innerText; 
} 
</script> 
<button onclick="getDef();">Get Definition</button> 
<iframe style="display:none;" id="invisibleDefFrame" src="http://dictionary.reference.com/browse/amalgamation?s=t"></iframe> 
<p id="defCanvas"></p> 

Это мой код для программы, которая должна возвращать определение слова, но вместо этого ничего не делает. Что мне делать, чтобы исправить это? Благодарю.iframe contentWindow не работает

+0

Не могли бы вы расширить "ничего не делает"? Что вы ожидаете? – stef

ответ

0

Вы не можете получить доступ к iframe таким образом!

Вы получаете Uncaught SecurityError: Blocked кадр с началом

Прочитайте это подробный answer

0

Из-за междоменной безопасности, я подозреваю, что вы не можете получить доступ к HTML этого iframe из своей собственной страницы через Javascript.

См. this previous answer.

Я считаю, что единственный способ сделать то, что вы пытаетесь сделать - очистить результаты от другого веб-сайта и отобразить их самостоятельно - это сделать запрос через собственный веб-сервер, проанализировать результаты и представить его на пользователь.

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