【发布时间】:2019-07-17 11:05:15
【问题描述】:
我正在开发网络项目,我想使用 reactjs,我正在使用的模板调用加载远程 html 文件的外部 js 文件。例如
<header role="banner">
<script type="text/javascript" src="/remote/webassets/js/header-footer.js"></script>
</header>
我想把上面的内容转换成下面这样的反应
import React, {
Component,
} from 'react';
// loads header and footer
class HF extends Component {
render() {
return (
<header role="banner">
<script type="text/javascript" src="/remote/webassets/js/header-footer.js"></script>
</header>
);
}
}
export default HF;
我的模板
<body>
<header role="banner">
<!-- loads header and footer -->
<script type="text/javascript" src="/remote/webassets/js/header-footer.js"></script>
</header>
<div class="sidebar">
<!-- loads sidebar menu -->
<script type="text/javascript" src="/remote/webassets/js/sidebar.js"></script>
</div>
<main>
<!-- content -->
</main>
<footer class="footer"></footer>
<script>
$(window).load(function() {
$('[data-class=lazyload]').each(function() {
//* set the img src from data-src
$(this).attr('href', $(this).attr('data-href'));
});
$('.lazyload').each(function() {
//* set the img src from data-src
$(this).attr('src', $(this).attr('data-src'));
});
});
const loadScriptAsync = () {...};
window.onload = loadScriptAsync
(function() {
'use strict';
window.MyEvenArray = function(callback) {...};
window.ErrorEvents = new window.MyEvenArray();
window.onerror = function(msg, url, line, col, error) {
...
window.ErrorEvents.push(d);
};
})();
</script>
</body>
有没有更好的方法将其转换为反应,还是我应该坚持使用纯 html?
【问题讨论】:
-
您正在尝试将外部脚本动态加载到您的页面吗?
标签: javascript reactjs