У меня есть следующий код, который использует импорт HTML:
<script>
function onImport() {
$('#templates-container').append($(document.querySelector('link[rel="import"]').import).find("script"));
}
</script>
<link rel="import" href="templates/templates.html" onload="onImport(event)" >
Но импорт HTML устарел, как указывает это предупреждение:
[Deprecation] HTML Imports is deprecated and will be removed in M80, around February 2020. Please use ES modules instead. See https://www.chromestatus.com/features/5144752345317376 and https://developers.google.com/web/updates/2019/07/web-components-time-to-upgrade for more details.
Нет Кажется, это не лучший способ заменить такой импорт HTML. Я пробовал
<object type="text/html" data="templates/templates.html" onload="onImport(event)"></object>
, но получаю следующую ошибку:
indexTool.html:100 Uncaught TypeError: Cannot read property 'import' of null
at onImport (indexTool.html:100)
at HTMLObjectElement.onload (indexTool.html:108)
где строка 100
- это
$('#templates-container').append($(document.querySelector('link[rel="import"]').import).find("script"));
, а строка 108
-
<object type="text/html" data="templates/templates.html" onload="onImport(event)"></object>
Полагаю, проблема в части 'link[rel="import"]'
. Чем его заменить?
Я использую Jquery 1.11.2.