前端开发小寄巧

发布于 2023-09-06  304 次阅读


  • 上一篇提到使用selenium直接执行js是最方便的,本篇会提到一些简单的js应用

html基本结构

  • 基本框架如下
<!DOCTYPE html>
<html>
<head>

</head>
<body>

</body>
</html>
  • 其中,head部分可以引入外部的js,css文件,在这里引入那么就相当于外部js或者css文件里面的内容就写在这里
  • 除此之外,head还可以添加style标签写css,供给body部分调用,比如这个例子中使用style写了个three的样式,在body部分中的div写了class=three,即可调用这段css
<!DOCTYPE html>
<html>
<head>
<style>
        .three{
  font-size: 20px;
  color:#000000;
  text-shadow:0px 1px 0px #c0c0c0,
     0px 2px 0px #b0b0b0,
     0px 3px 0px #a0a0a0,
     0px 4px 0px #909090,
     0
    }
    table{
            text-align:right;
            display:inline-block;
    }
    </style>
</head>
<body>
<div class="three">
<div>
<script>
localStorage.setItem('data', "喵");
window.open("2.html", "_blank");
</script>
</body>
</html>
  • 同样的,如果只是引入了外部的css,也可以之间在下面调用

  • body部分就不能引入外部的js或者css文件了,不过可以添加并显示其他构架页面的元素,这些标签也可以单独写style,如果和class冲突了,优先级是style>内部css>外部css

  • body部分可以执行js,但是script标签不是什么标签都可以插入,比如可以插入div标签

<div>
<script>

</script>
</div>
  • 但是不饿像这样插入\标签
<a>
<script>

</script>
</a>

html之间传参

  • 后端互相传参数倒是很方便,但是两个页面之间,或者说js之间互相传参显得比较奇怪,下面可以实现html之间的传参
  • 1.html写入
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
localStorage.setItem('data', "喵");
window.open("2.html", "_blank");
</script>
</body>
</html>
  • 2.html写入
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
const data = localStorage.getItem("data");
alert(data);
</script>
</body>
</html>

(没有弹出来可能是浏览器阻止了,允许一下就行)

js操作页面元素

  • 这里用常见的按钮点击,js改dom来举例

  • 首先需要定位元素,可以使用document.getElement系列的函数

var btn = document.getElementById("b1");
  • 为按钮添加onclick事件,添加其他的属性语法类似
btn.onclick=function(){
alert('喵');
}
  • js改dom有很多技巧,比如给元素设置visibility属性为不可见,然后通过定位元素,改visibility属性即可实现显示
  • 或者提前写标签占位,然后通过innerhtml插入html代码
<tbody id="showfilebody">
var showfilebody=document.getElementById('showfilebody');
var tdstr='';

tdstr+='<td style="text-align: center;">'+"喵"+'</td>';
tdstr+='<td style="text-align: center;">'+"呜"+'</td>';
tdstr+='<td style="text-align: center;">'+"咪"+'</td>';

showfilebody.innerHTML=tdstr;

前后端交互实现

  • 第一次前端后端一起写,刚开始没有搞清楚这俩的职责边界.前端的局限性较大,也就负责到调用后端的api,后端将数据处理封装到api就行了

  • 前端请求后端的api可以使用ajax或者xhr(还有fetch和axios),这俩都能发送请求并且获取返回值.xhr是内置的一个可以发送http请求的对象,ajax等另外仨都是基于xhr封装的.

  • 使用ajax需要引入jquary库

<script>https://s3.pstatp.com/cdn/expire-1-M/jquery/3.2.1/jquery.min.js</script>
  • 这样就能轻松创建一个请求
$.ajax({
    url:"http://blog.drinkflower.asia",
    dataType:'json',
    type:'get',
    success:function(data){

        alert(data);

    },
    error :function(arg1){
        alert(arg1);
    }
})
  • 或者使用原生的xhr
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://blog.drinkflower.asia', true); // 替换成你的后端API的URL
xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE) {
    if (xhr.status >= 200 && xhr.status < 400) {

      alert('ok');
    } else {

      alert('ko');
    }
}
};
xhr.send();
届ける言葉を今は育ててる
最后更新于 2024-02-07