выборка json из iframe - не jsonp - PullRequest
       2

выборка json из iframe - не jsonp

0 голосов
/ 08 февраля 2011

Как я могу получить json из iframe, это не jsonp, вот что у меня есть.(используя только JavaScript, конечно)

<script type="text/javascript">
var theFrame = document.getElementById('iframe');
            var theWin = theFrame.contentWindow;
            var theDoc = theFrame.contentDocument || theFrame.contentWindow.document;
var json = theDoc;
var msgs = JSON.parse(theDoc);

for (var i = 0, l = msgs.length; i < l; i++) {
    var msg = msgs[i];
    var div = document.createElement('div');
    div.innerHTML = 'Hello ' + msg.user + ' your Id is: ' + msg.ID + 'and your message is: ' + msg.message + ' it has ' + msg.replies + ' replies';
    document.body.appendChild(div);

</script>

<iframe id="iframe" name="iframe" src="http://jsonsource.com/not/jsonp/" width="100" height="100">
  <p>Your browser does not support iframes.</p>
</iframe>

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

Для iframe действует та же политика происхождения, что и для XHR.Так что, если ваша цель - обойти это, забудьте об этом.Если ваша цель не состоит в том, чтобы обойти это, зачем вам использовать iframe вместо XHR (у которого гораздо более хороший API)?чтобы получить доступ к iframe, прежде чем он существует.Переместите скрипт на него.

0 голосов
/ 16 февраля 2011

Вы можете получить то, что хотите, открыв свойство iframe contentDocument.documentElement.textContent.(В IE это innerText вместо textContent.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...