Мое приложение angular 7 не загружается в iFrame при передаче содержимого HTML - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь загрузить приложение angular 7 внутри iFrame, передавая содержимое HTML вместо простого URL,

Вот код, который я использую для создания iFrame:

// Wrapper div for the iFrame
const iFrameContainerEl = document.createElement('div');
iFrameContainerEl.setAttribute('id', AppConfig.iFrameContainerDivID);
iFrameContainerEl.setAttribute(
    'style',
    /* For Manual position, the iFrame container will take the custom CSS from widget config file,
    * otherwise an auto-generated style will be provided, based on selected position
    * */
    (widget.widgetPosition === WidgetPosition.Manually) ?
        widget.customCss :
        AppConfig.getIFrameContainerStyle(widget.widgetPosition));

// The main iFrame
const iFrameHTMLContent = `
    <!doctype html>
      <html lang="en">
      <head>
        <meta charset="utf-8">
        <title>Survey</title>
        <base href="/">

        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="icon" type="image/x-icon" href="favicon.ico">
        <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">
        <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
      </head>
      <body>
        <app-root></app-root>
        <script type="text/javascript" src="http://localhost:4200/runtime.js"></script>
        <script type="text/javascript" src="http://localhost:4200/es2015-polyfills.js"></script>
        <script type="text/javascript" src="http://localhost:4200/polyfills.js"></script>
        <script type="text/javascript" src="http://localhost:4200/main.js"></script>
      </body>
    </html>
`;
const iFrameEl = document.createElement('iframe');
iFrameEl.setAttribute('src', `data:text/html;charset=utf-8, ${encodeURI(iFrameHTMLContent)}`);
iFrameEl.setAttribute('style', AppConfig.iFrameStyle);

// add the iFrame to its container div
iFrameContainerEl.appendChild(iFrameEl);

// add the iFrame container div to the body
document.body.appendChild(iFrameContainerEl);

Я ожидаю увидеть угловое приложение полностью загруженным внутри iFrame, но вместо этого я получаю пустую страницу.Приложение Angular работает должным образом при запуске его в автономном режиме.

Я вижу, что ресурсы загружены правильно, но страница всегда пуста

ss

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