File:///to http://связь через IFrame

91
10

Возможно, некоторые из вас могли столкнуться с той же проблемой, что и я.
Представьте, что у вас есть файл на вашем компьютере: file:///c:\test.html


И у вас есть IFrame внутри этого файла. Вам нужно указать, загружено ли содержимое IFrame или нет.


Басивно, что мы имеем здесь:
1. location, href или любое другое свойство недоступно из файла:///в http:/// или назад.
2. Вы не можете запустить событие из окна браузера в iframe или в противоположном направлении, к сожалению.


У этой проблемы есть решение?
P.S.: Это не взломать. это настоящая проблема. взаимодействие с локальной машиной с интеграцией сайтов.


UPD: Я понимаю, почему это запрещено. Любое взаимодействие с локальными файлами должно быть запрещено с веб-страницы. Это здорово, я согласен. Но разве хэштег не является чем-то, что никому не может навредить?: (

спросил(а) 2009-10-14T22:57:00+04:00 11 лет назад
1
Решение
71

Вы можете найти некоторые из этих методов полезными: http://softwareas.com/cross-domain-communication-with-iframes


Изменить. В комментариях ниже эти методы не работают при доступе к file:///c:\<path>\test.html, тогда как при доступе к http://localhost/test.html.


Я думаю, потому что протокол file еще более ограничен браузером, чем протокол http. Страница MSDN в протоколе файла сообщает:

Internet Explorer 6 с пакетом обновления 1 (SP1) больше не позволяет просматривать локальная машина из зоны Интернета. Например, если интернет-сайт содержит ссылку на локальный файл, Internet Explorer 6 SP1 отображает пустая страница, когда пользователь нажимает на ссылку. Предыдущие версии Windows Internet Explorer выполнил ссылку на локальный файл.



Независимо от того, какой метод вы использовали для получения междоменной связи, вероятно, был заблокирован браузером, потому что вы использовали протокол file.

ответил(а) 2009-10-14T23:04:00+04:00 11 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема