使用原生javascript生成html内容

本文介绍如何在网站A中利用原生JavaScript从网站B动态获取并渲染导航栏和侧边栏,解决跨域问题。通过将样式集中写入一个CSS文件,并在HTML内容生成后再引用,确保样式正确应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

在网站A增加一个导航栏和侧边栏,但是导航栏和侧边栏内容放在另个网站B,需要在网站A直接引用网站B的导航栏和侧边栏的JS。

技术要点

  • 使用原生javascript
  • 跨域问题

参考源代码

html内容:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>js加载模块</title>
    <script type="text/javascript">
      window.onload = createTopHtml;
      function createTopHtml() {
        var topCss = "@import url(./style.css);"; //定义内容
        var style = document.createElement("style");
        style.type = "text/css";
        style.textContent = topCss;
        document.head.appendChild(style);
        var $html = "<div class='topDiv'><button>点我登录</button> <select><option>请选择</option><option>1</option><option>2</option></select></div>";
        var div = document.createElement("div");
        div.innerHTML = $html;
        document.body.appendChild(div);
        var $html1 = "<div class='leftDiv'><p>左边</p></div>";
        var div1 = document.createElement("div");
        div1.innerHTML = $html1;
        document.body.appendChild(div1);
      }
    </script>
  </head>
  <body>
    <div class="main">
      <p align="center">內容</p>
    </div>
  </body>
</html>

css内容:

.topDiv{
  top:1px;
  background-color: red;
  width: 100%;
  height: 100px;
  clear: both;
  position: fixed;
}
.leftDiv{
  left: 0px;
  background-color: yellow;
  width: 30px;
  height: 100%;
  clear: both;
  position: fixed;
  bottom: 0px;
}
.main{
  background-color: green;
  width: 100%;
  height: 400px;
}

效果图:
效果图

总结

在这里使用到@import url(./style.css);, 把样式统一写到一个文件,然后通过js动态引用,可以有效对新生成的html content产生效果,不然如果在没有生成html content前,先让浏览器解释了css,那么html content就没有样式了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值