2016-08-21 2 views
0

Некоторое время назад я создал приложение, посредством которого клиенты подключаются к серверу с использованием протоколов WebRTC.X-Frame ORIGINS в IFRAME

Экран клиентов состоит из двух половинок. Одна половина связана с сервером и получает такие вещи, как сообщения, и имеет веб-страницу, на которой есть javascript WebRTC. Другой - IFRAME. Когда клиент подключается к серверу, сервер отправляет клиенту веб-адрес, который загружается в IFRAME.

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

Итак, представьте себе, что я запустил сервер и попросил 20 человек подключиться к нему. Все 20 учеников подключаются к серверу должным образом, я знаю, потому что он имеет все детали на моем компьютере. Как правило, из моего тестирования, 15/20 будет хорошо. Остальные 5 получат белый экран. Когда я исследую в консоли, это проблема XFRAMES ORIGIN, ее заявка, что загружаемая веб-страница не позволит себе загружаться в iframe. Однако все остальные (которые используют один и тот же браузер [хром] и некоторые версии браузера) в порядке.

Теперь у меня есть одно решение, которое работает для некоторых студентов, есть установка в хроме, который называется:

block third party cookies and site data 

Если эта опция включена, она не работает, если его не включен он работает.

Теперь у меня осталось 4 студента, которые все еще просто видят белый экран, на котором у меня нет решения. Chrome и Firefox поддерживают программное обеспечение, но оба они создают одну и ту же проблему.

Настройка здания заключается в том, что учащиеся подключаются к Интернету через сервер. Они должны подключаться через этот сервер, поскольку мой сервер имен не является локальным, и действительно мой веб-сайт также не является локальным.

Я не думаю, что это проблема с кодированием, так как это происходит только на нескольких компьютерах, и все остальное работает как раз hornky dory. Таким образом, я думаю, что это может быть проблема с чем-то еще: брандмауэр, настройки безопасности, кнопка конфигурации и т. Д. Если у кого-нибудь есть предложения по тому, что я могу сделать, чтобы исправить это, я был бы очень благодарен за вашу помощь.

Я постарался предоставить всю информацию, которая, как я считаю, имеет отношение к делу (хотя бы длина), но все, что я пропустил, пожалуйста, спрашивайте.

спасибо. Alex

ответ

0

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

С этими тремя решениями я устранил все свои проблемы, но поскольку я придумываю новые, я отправлю их здесь.Надеюсь, его полезным для кого-то :)

РЕШЕНИЕ 1

Если IFrame стремится где-то, что требует от пользователя войти в систему, он вряд ли будет работать. Страницы с паролями редко пересекаются по очевидным и веским причинам. Решение состоит в том, чтобы убедиться, что до того, как они используют вашу страницу iframe, они полностью регистрируются в том, что они делают, или предоставляют сообщение об ошибке, которое дает им эту информацию, если это произойдет. См. Это сообщение для деталей: Catch error if iframe src fails to load . Error :-"Refused to display 'http://www.google.co.in/' in a frame.."

Где я, у нас есть двойной логин, поэтому они вступают в Google и , а затем в организацию. Обе эти области входа приведут к сбою загрузки страницы.

РЕШЕНИЕ 2 (хромированная ONLY)

Некоторые услуги плохо реагируют на режим стро, и некоторые из моих пользователей были проблемы из-за этого.

Чтобы исправить:

1. chrome://flags 
    2. change QUIC mode to 'Disabled' 

РЕШЕНИЕ 3

Если вы работаете через прокси-сервер, который требует куки, пользователи могут возникнуть проблемы, если у них есть «маршрутный сторонние куки и сайт данных ". Отключение этого положительно сказалось на том, насколько хорошо работали фреймы.

В хроме:

Settings 
Search for cookies 
Click 'content settings' 
0

Если URL-адрес основного сайта отличается от URL-адреса iframe, вы получите проблему происхождения xframes. Это включает протокол (http против https) и полный домен (example.com vs www.example.com). Другими словами, если пользователь переходит на example.com, а iframe использует www.example.com, это может привести к ошибке источника xframes. Или, если они идут до http://www.example.com, а iframe использует https://www.example.com, вы можете получить эту ошибку.

+0

В основном это работает, хотя, его только тогда, когда есть определенные страницы, которые у меня есть вопрос. Например, поиск Google не работает, но формы google работают. –

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