Использование iframe с локальными файлами в Chrome

Мне трудно понять, как получить доступ к странице, загруженной в iframe, с внешней страницы. Обе страницы являются локальными файлами, и я использую Chrome.

У меня есть внешняя страница и много внутренних страниц. На внешней странице всегда должен отображаться заголовок страницы для внутренней страницы (это имеет смысл в моем приложении, возможно, меньше в этом урезанном примере). Это работает без проблем в AppJS, но мне было предложено заставить это приложение работать прямо в браузере. Я получаю ошибкуЗаблокирован фрейм с источником "null" из-за доступа к фрейму с источником "null". Протоколы, домены и порты должны совпадать.».

Я думаю, что это связано с той же политикой происхождения Chrome в отношении локальных файлов, но это не помогло мне решить проблему напрямую. Я могу обойти проблему в этом урезанном примере с помощью метода window.postMessage дляСпособы обойти политику того же происхождения, Однако, выходя за рамки этого примера, я также хочу манипулировать DOM внутренней страницы с внешней страницы, так как это сделает мой код намного чище - поэтому размещение сообщений не совсем справится с работой.

Внешняя страница

<!DOCTYPE html>
<html>
    <head> 
        <meta name="viewport">
    </head> 
    <body>
        This text is in the outer page
        <iframe src="html/Home.html" seamless id="PageContent_Iframe"></iframe>
        <script src="./js/LoadNewPage.js"></script>
    </body>
</html>

Внутренняя страница

<!DOCTYPE html>
<html>
    <head>
        <title id="Page_Title">Home</title> 
        <meta name="viewport">
    </head> 
    <body>
        This text is in the inner page
    </body>
</html>

JavaScript

var iFrameWindow = document.getElementById("PageContent_Iframe").contentWindow;
var pageTitleElement = iFrameWindow.$("#Page_Title");

вВполне вероятно, что будущие выпуски Chrome будут поддерживать contentWindow / contentDocument, когда iFrame загружает локальный HTML-файл из локального HTML-файла?Попробовал запустить Chrome с флагом

--allow-file-access-from-files

Но не было никаких изменений в результатах.

вОтключить ту же политику происхождения в ChromeПопробовал запустить Chrome с флагом

--disable-web-security

Но опять же не было никаких изменений в результатах.

вЧто делает document.domain = document.domain?Я обе страницы запустил команду

document.domain = document.domain;

Это привело к ошибке "Заблокирован фрейм с источником "null" из-за доступа к фрейму с источником "null". Кадр, запрашивающий доступ, установил «document.domain» в «», но кадр, к которому осуществлялся доступ, не сделал этого. Оба должны установить для «document.domain» одинаковое значение, чтобы разрешить доступ."

Ради интереса у меня на обеих страницах запускалась команда

document.domain = "foo.com";

Это привело к ошибке "Uncaught Error: SecurityError: DOM Exception 18».

Я барахтаюсь. Любая помощь от более знающих людей будет фантастической! Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос