javascript
  • html
  • iframe
  • 2013-12-21 3 views 1 likes 
    1

    У меня этот код работает нормально с локального файла:getElementByID ("") с онлайн-Src IFRAME

    <html> 
    <body> 
    <iframe id="frame1" name="frame1" frameborder=0 src="form.html" width=100% height=70%></iframe> 
    </body> 
    <script type='text/javascript'> 
        window.onload= function(){ 
         var iframe = document.getElementById('frame1'); 
         var innerDoc = iframe.contentDocument || iframe.contentWindow.document; 
         var input = innerDoc.getElementsByName('input1')[0].value; 
         alert(input); 
        } 
    </script> 
    </html> 
    

    form.html:

    <input name="input1" type="text" value="testing"/> 
    

    Все в порядке, но когда я изменить SRC Iframe в:

    <iframe id="frame1" name="frame1" frameborder=0 src="form.html" width=100% height=70%></iframe> 
    

    С:

    <iframe id="frame1" name="frame1" frameborder=0 src="http://test.hklearningmap.com/form.html" width=100% height=70%></iframe> 
    

    Это не работает. Как я могу заставить его работать без загрузки локального файла в одно и то же место с помощью form.html? Благодарю.

    ответ

    0

    Вы не можете получить доступ к удаленному содержимому html с помощью js только потому, что загружаете его в iframe. Ознакомьтесь с политикой того же происхождения.

    1

    Вы работаете в Same Origin Policy, которые накладывают браузеры. Код JavaScript, запущенный в окне из Origin A, не может получить доступ к документу в окне (кадре) из Origin B.

    Есть некоторые исключения, например, когда оба документа присваивают одинаковое значение document.domain. Но существуют ограничения на значения, которые можно установить (свободно, вы можете установить только супердомен, например, вы можете установить example.com со страницы, загруженной с www.example.com), и, конечно, оба документа должны установить его (поскольку это сотрудничество - это то, что говорит в браузере можно разрешить скрипты с перекрестным происхождением).

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