#html #jquery #socket.io
#HTML #jquery #socket.io
Вопрос:
Я следил за документацией по сокету.веб-сайт ввода-вывода, когда я обнаружил эту проблему.
Мой рабочий код
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
$(document).ready(function() {
$(function () {
var socket = io();
$('form').submit(function(e) {
e.preventDefault(); // prevents page reloading
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});
})
</script>
Когда тот же скрипт jquery импортируется из внешнего файла, происходит сбой.
client.js
содержит точно такой же скрипт jquery и в том же каталоге.
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="client.js"></script>
Ниже была ошибка с консоли, я не могу понять, что это такое
The resource from “http://localhost:3000/client.js” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
Ответ №1:
Измените свой тип на «application / javascript» для этого скрипта. Кроме того, если вы обнаружите, что скрипт не загружается, добавьте свойство defer в тег script, как показано ниже.
<script type="application/javascript" defer src="./client.js"></script>
Наконец, я видел похожие проблемы, когда js не находится в источнике, на который вы ссылаетесь. Пожалуйста, убедитесь, что ваша исходная ссылка верна.
Комментарии:
1. Это не сработало, а также все файлы находятся в одном каталоге.