Css и Javascript не анализируются в iframe - PullRequest
0 голосов
/ 22 февраля 2019

В моем приложении node.js я установил конечную точку, куда я загружаю некоторый разобранный HTML-код.Как это.

app.get('/code', function (req, res) {
    res.setHeader('Content-Type', 'text/html');
    res.send(code.html); 
});

Код - это объект json, который выглядит следующим образом.

code = { html: 'Bunch of html code i took from some site. This contains css and javascript code as well.' };

В моем индексном файле есть iframe, который выглядит следующим образом.

<iframe src="http://localhost:port/code" width="400" height="400"></iframe>

iframe работает, но когда я пытаюсь загрузить представление, большая часть css и javascript не анализируется.Я получаю следующую ошибку:

Refused to apply style from 'http://localhost:3000/docs/4.3/dist/css/bootstrap.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

HTML-код анализируется, но представление выглядит немного искаженным, и ни один из css или javascript не выполняется правильно.Если я открою вкладку сети в Chrome, URL-адрес запроса выглядит следующим образом.

Request URL: http://localhost:3000/docs/4.3/assets/js/docs.min.js

Каждая таблица стилей и код js добавляются к моему локальному URL.Вот почему CSS и JS не анализируется правильно?Как мне это решить?

1 Ответ

0 голосов
/ 25 февраля 2019

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

app.get('/code', (req, res) => {
  const code = {
    html: '
    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <meta charset="utf-8">
        <title>Test</title>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
      </head>
      <body>
      <h1 class="button">Test</h1>
      </body>
    </html>
',
  };
  res.setHeader('Content-Type', 'text/html');
  res.send(code.html);
});
<iframe src="http://localhost:3121/code" width="400" height="400"></iframe>

Это мой результат

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