E-COM-NET

  • 首页
  • 在线工具
  • Layui镜像站
  • SUI文档
  • 联系我们
!吃饭第一名
!吃饭第一名

Vue element-ui之神坑

  • html

Vue element-ui之神坑

1.关于更改input样式

更改input标签样式 from表单下的input 使用/deep/
  .el-form /deep/ .el-input__inner {
    width: 149px;
    height: 32px;
  }

下载element-ui

运用vue ui
插件 添加插件
vue-cli-plugin-element

2.更改日期input

/deep/ .el-date-editor {
    width: 149px;
    height: 32px;
  }

3.更改表头

stripe隔行深色
:header-cell-style="getRowClass"   奇数行深色

        getRowClass({ row, column, rowIndex, columnIndex }) {
      if (rowIndex % 3 == 0) {
        return 'background:rgb(250,250,250)'
      } else {
        return ''
      }
    },

4.表格居中

align:center

5.第一行表格宽度设置

/deep/ .el-table__header-wrapper {
  width: 600px !important;
  overflow: hidden;
}

6.栅格布局

   
            
              
            
            
              -
            
            
              
            
          

7.让表格一行内容居中

/deep/ .cell {
  &:nth-of-type(1) {
    display: flex;
    align-items: center;
  }
  display: flex;
  align-items: center;
  justify-content: center;
}

8.关于表格

 
商品总计 ¥852 邮费 ¥0
实际支付 ¥862 支付方式 微信
.table { width: 100%; outline: none; border-collapse: collapse; // border: 0; border: 0.5px solid #e9e9e9 !important; tr { height: 37px; td { &:nth-of-type(1) { width: 190px; // height: 36px; padding: 0; border-left: 0; font-size: 14px; font-family: PingFang SC; font-weight: 400; padding-left: 23px; color: rgba(102, 102, 102, 1); }
  • 注意
    • border-collapse: collapse;
    • cellspacing=“0”;
    • border:0.5px solid rgba;

9.关于路由不刷新

const routerPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
  return routerPush.call(this, location).catch(error=> error)
}
Vue.use(VueRouter)
主页面  router-view 绑定一个key


key的值
  computed: {
    key() {
      // 只要保证 key 唯一性就可以了,保证不同页面的 key 不相同
      return this.$route.fullPath
    }
  },

10.关于form表单重置问题

必须在每个form-item上添加当前数据属性,才能生效


empty(formName){
      // console.log(formName);
      // console.log(this.$refs[formName])
      this.$refs[formName].resetFields();
    },
  • 每个form-item上添加属性,这样refs才能让这个form表单初始化成功

11.神坑浅拷贝

在vue中千万别浅拷贝赋值对象

12数组的方法增删改查

https://blog.csdn.net/Hedy17/article/details/79378774?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
 var arr = ['a','b','c','d'];
 arr = ['a','b','c','d'];
 arr.splice(1,1,'ttt');

替换

13之通过路由设置导航







14 vue之代理解决跨域

main.js 页面

axios.defaults.baseURL = '/'
axios.interceptors.request.use(config => {
  config.headers.Authorization = Cookies.get('token')
  return config
})

vue.config.js 页面

module.exports = {
    // // cli3 代理是从指定的target后面开始匹配的,不是任意位置;配置pathRewrite可以做替换
    // devServer: {
    //   port: '8080',
    //   open: true,
    //   proxy: {
    //     '/api': {
    //       // /api 的意义在于,声明axios中url已/api开头的请求都适用于该规则,
    //       // 注意是以/api开头,即:axios.post({url: '/api/xxx/xxx'})
    //       target: 'demo.saas.com',
    //       // 此处target的意义在于:造成跨域是因为访
    //       // 问的host与我们的请求头里的origin不一致,所以我们要设置成一致,这个具体请看下文
    //       changeOrigin: true,
    //       pathRewrite: {'^/api': 'http://localhost:8080/api'}
    //       // 此处是大部分文章都不会明说的的地方,
    //       // 既然我们设置了代理,则所有请求url都已写成/api/xxx/xxx,那请求如何知道我们到底请求的是哪个服务器的数据呢
    //       // 因此这里的意义在于, 以 /api开头的url请求,代理都会知道实际上应该请求那里,
    //       // ‘我是服务器/api’,后面的/api根据实际请求地址决定,即我的请求url:/api/test/test,被代理后请求的则是
    //       // https://我是服务器/api/test/test
    //     }
    //   }
    // }
    devServer: {
		open: true, //是否自动弹出浏览器页面
		host: "localhost",
		port: '8080',
		proxy: {
			'/api': {
				target: 'http://demo.saas.com/',   // 请求服务器根路径
				changeOrigin: true,    // 是否跨域
				ws: true,   // websocket
				pathRewrite: {    // 重写路径: 当检测到请求地址里包含 /v1 时,将此路径进行跨域代理操作
					'^/api': ''
				}
			}
		}
	}
  }

登录事件

login() {
      // 登录之后设置token
      this.$axios.post('/api/admin/login/login', this.form).then(res => {
        console.log(res)
        if (res.data.code) {
          this.$cookies.set('token', res.data.data.token)
          this.$message.success('登录成功')
          this.$router.push('/index')
        } else {
          this.$message.error('登录失败!')
        }
      })
    }

15关于host

C:\Windows\System32\drivers\etc\hosts

16关于对接七牛云

import * as qiniu from 'qiniu-js'
   const file = e.target.files[0]
      const key = undefined
      const token = this.qiniuToken.token //从服务器拿的并存在本地data里
      const putExtra = {
        fname: '',
        params: {},
        mimeType: ['image/png', 'image/jpeg', 'image/gif']
      }
      const config = {
        useCdnDomain: true //使用cdn加速
      }
      const observable = qiniu.upload(file, key, token, putExtra, config)
      observable.subscribe({
        next: result => {
          // 主要用来展示进度
        },
        error: () => {
          console.log('上传图片失败')
          // this.$notify('上传图片失败')
        },
        complete: res => {
          console.log(res)
          this.school_banner_arr[index].banner = this.uploadURL + res.key
        }
      })

17分页联动效果

   
   handleCurrentChange(e) {
      console.log(e)
      this.page = e
      this.getState()
    },
        changePagestate(e) {
      console.log(e)
      this.pageSize = e
      this.getState()
    },

18 删除效果

 async deletename(id) {
      console.log('删除操作', id)
      await this.$confirm('此操作将永久删除该厂家信息, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(() => {
          console.log(id)
          let obj = {
            factory_id: id,
            token: this.token
          }
          this.$axios
            .post('/api/admin/factory/factory_del', obj)
            .then(res => {
              this.$message({
                type: 'success',
                message: '删除成功!'
              })
              this.getState()
            })
            .catch(err => {
              this.$message({
                type: 'error',
                message: '删除失败!'
              })
            })
        })
        .catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          })
        })
    },

19 表格 index 写法

 
        
      

20 提交form表单

 console.log('提交form表单')
      let obj = {
        token:this.token,
        password:this.this.form.password
      }
      const res = await this.$axios.post('/api',obj)
      if(res.data.code == 1){
        this.$message.error('修改成功');
      }else{
        this.$message.error('修改成功');
      }

21 card 高度

.card {
  width: 100%;
  overflow: scroll;
  // height: 3000px !important;
}

22 上传类型为图片

     if (!/image\/\w+/.test(file.type)) {
        this.$message.error('上传类型必须是图片')
        return false
      }

23.vue实现下载图片

https://www.cnblogs.com/zhujiqian/p/11475467.html

    downQrcode(row) {
      let hreLocal = ''
      hreLocal = this.qiNiuUrl + row.qrcode
      let name = row.school_name
      this.downloadByBlob(hreLocal, name)
    },

   downloadByBlob(url, name) {
      let that = this;
      let image = new Image()
      image.setAttribute('crossOrigin', 'anonymous')
      image.src = url
      image.onload = () => {
        let canvas = document.createElement('canvas')
        canvas.width = image.width
        canvas.height = image.height
        let ctx = canvas.getContext('2d')
        ctx.drawImage(image, 0, 0, image.width, image.height)
        canvas.toBlob(blob => {
          let url = URL.createObjectURL(blob)
          that.download(url, name)
          // 用完释放URL对象
          URL.revokeObjectURL(url)
        })
      }
    },

   download(href, name) {
      let eleLink = document.createElement('a')
      eleLink.download = name
      eleLink.href = href
      eleLink.click()
      eleLink.remove()
    },

24.excel文件导出

  let alink = document.createElement('a')
      alink.href = this.baseUrl+'api/admin/school/collection_excel?qrcode_id='+id+'&type=2&token='+this.token
      alink.target = '_blank'
      alink.click();

25判断是否为xls和xlsx

      let fileObj = e.target.files[0],
        fileName = fileObj.name,
        fileType = fileName.substring(fileName.indexOf('.'))
      if (fileType != '.xls' && fileType != '.xlsx') {
        this.$message.error('上传文件只能是xls,xlsx格式!')
        return false
      }

26.公共函数

https://www.cnblogs.com/chase-star/p/9990124.html

27.出现小手

cursor:pointer;

28.点击图片跳转

   let alink = document.createElement('a')
      alink.href = this.qiNiuUrl + imgurl;
      alink.target = '_blank';
      alink.click();

29.element表格默认展开删除

:row-class-name="getRowClassName"
:default-expand-all="true"
type="expand"
        
getRowClassName({ row, rowIndex }) {
      if (row) {
        return 'row-expand-cover'
      }
    }
    
    
    
 

30.改变select框的样式

  
                
              
更改select框下的input的样式

          
            
              
            
          
          
          
          css
.select-option /deep/ .el-input__inner{
  width: 165px;
}

31.switch开关

     

32.eslint关闭

https://juejin.im/post/5bd02f98e51d457a944b634f


lintOnSave: false,

33.diglog鼠标滑动消失

:close-on-click-modal="false"

34.更改日期选择期宽度




.input-class{
  /deep/ .el-input__inner{
    width: 160px;
  }
}

35.分页组件

import paging from '../common/paging.vue'
  components: {
    paging
  },
    





36.表格序号

      
        
      

37.使用卡片导航条 cards

import CardTop from '../common/Cards.vue'
CardTop







38.关于watch监听属性 新旧值一样的问题

  data:{
        testData:{
            dataInfo:{
                a: '我是a',
                b: '我是b'
            }
        }
    },
    watch: {
      testDataNew: {
        handler: (val, olVal) => {
          console.log('我变化了', val, olVal)
        },
        deep: true
      }
    },
    computed: {
      testDataNew() {
        return JSON.parse(JSON.stringify(this.testData))
      }
    }

39.select框异步获取数据的问题

    pitchSchoolSchoolName(ne, old) {
      console.log(ne)
      console.log(old)
      console.log(1092)
      let show = false
      setTimeout(() => {
        if (Array.isArray(ne[0])) {
          console.log(ne[0])
          console.log(old[0])
          console.log('传过来的是一个数组')
          console.log(ne)
          ne[0].forEach((item, index) => {
            console.log(ne[0][index])
            console.log('item')
            console.log(item)
            ne.push(item)
            // this.tableDataList.forEach((iii, iad) => {
            //   // iii.school_id = ne[0][index]
            //   // iii.school_id = ne[0][index]
            // })
          })
          console.log(ne[0])
          // ne.push = ne[0]
          ne.splice(0, 1)
          console.log(old)
          console.log(this.$data.tableDataList)
          console.log(ne)
        } else {
          console.log('consoe.feafwa')
          console.log(ne)
          console.log(old)
          if (Array.isArray(old) && Array.isArray(ne)) {
            console.log('长度相同进来了吗')
            // 删除学校
            console.log(ne.length)
            if (ne.length > 0) {
              if (ne.length == old.length) {
                console.log('长度相同进了几次')
                console.log(old)
                console.log(ne)
                console.log(this.pitchSchoolSchoolName)
                this.tableDataList.forEach((item, index) => {
                  console.log(index)
                  console.log(ne[index])
                  console.log(item)
                  item.school_id = ne[index]
                  console.log(item)
                })
                console.log(this.tableDataList)
                return false
              }
            }

            let end = 0
            if (ne.length < old.length) {
              console.log('删除学校的的吗')
              end = 1
              // 现在是添加,新值比旧值少。
              old.forEach((item, index) => {
                // 遍历旧值。遍历新值的内容看旧值是否在新值中
                if (ne.indexOf(item) == -1) {
                  console.log(item)
                  this.tableDataList.forEach((its, iue) => {
                    if (its.school_id == item) {
                      this.tableDataList.splice(iue, 1)
                    }
                  })

                  console.log(this.tableDataList)
                  // this.tableDataList.forEach((it, is) => {
                  //   if (it.school_id == old[index]) {
                  //     // console.log(index);
                  //     this.tableDataList.splice(index, 1)
                  //   }
                  // })
                }
              })
            }
            if (end) {
              return false
            }
            console.log('zoulema')
            // 添加学校
            if (ne.length > old.length) {
              console.log('添加学校吗')
              console.log(ne)
              console.log(old)
              console.log('增加学学的的饿吗')
              this.tableDataList.unshift({
                standard: [],
                listenList: [
                  { listenNum: '' },
                  { listenSales: '' },
                  { listPartne: '' },
                  { listenBase: '' }
                ],
                school_id: ne[ne.length - 1],
                school_badge: '',
                goods_stock_arr: [
                  // {
                  //   size: '',
                  //   state: [
                  //     {
                  //       school_badge: '',
                  //       num: '',
                  //       add_num: '',
                  //       price: '',
                  //       parter_price: '',
                  //       base_price: '',
                  //       sales: 0
                  //     }
                  //   ]
                  // }
                ]
              })
              console.log(this.tableDataList)
            }

            // 第一次添加的尺码规格的个数 现在7个
            // 现在要循环添加的每个学校的尺码规格 goods_stock_arr
            // 先循环学校的个数然后在循环arr的个数
            console.log(this.tableData)
            console.log(this.tableDataList)
            if (ne.length > old.length) {
              console.log('添加尺寸了吗')
              if (ne.length) {
                this.tableData.forEach(item => {
                  this.tableDataList[0].goods_stock_arr.push({
                    size: item.size,
                    state: [
                      {
                        school_badge: '',
                        num: item.num,
                        add_num: '',
                        price: item.price,
                        parter_price: item.parter_price,
                        base_price: item.base_price,
                        sales: item.sales
                      }
                    ]
                  })
                })
              }
            }
            console.log(this.tableDataList)
          }
        }
      }, 0.1)
    }

40.element使用外部的 class图片

https://www.jianshu.com/p/59dd28f0b9c9
       
              
                
              
            

41.表格内容超出部分提示

:show-overflow-tooltip="true"

          

42.火狐滚动条隐藏

scrollbar-width: none;

43.谷歌滚动条隐藏

::-webkit-scrollbar {
    display: none;
}

44.element-ui表格合并 合并同一行的几个列

        
        :span-method="arraySpanMethod"
    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
      console.log(rowIndex)
      if (rowIndex >= 0) {
        if (columnIndex == 2) {
          return [1, 2]
        } else if (columnIndex == 3) {
          return [0, 0]
        }
      }
      if (rowIndex >= 0) {
        if (columnIndex == 5) {
          return [1, 2]
        } else if (columnIndex == 6) {
          return [0, 0]
        }
      }
      if (rowIndex >= 0) {
        if (columnIndex == 12) {
          return [1, 2]
        } else if (columnIndex == 10) {
          return [0, 0]
        }
      }
    },

45.element-ui获得省市区

          arr_arr[0] = parseInt(res.data.data.province)
          arr_arr[1] = parseInt(res.data.data.city)
          arr_arr[2] = parseInt(res.data.data.district)
          this.$nextTick(() => {
            this.addr_arr = arr_arr
          })
          
          // 等到dom加载完成后把数据赋值
            
              
            

46.页面刷新保存vuex

    // 在页面刷新时将store保存到sessionStorage里
    window.addEventListener('beforeunload', () => {
      sessionStorage.setItem('store', JSON.stringify(this.$store.state))
    })

你可能感兴趣的:(html)

  • 移动端城市区县二级联动选择功能实现包 good2know
    本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery
  • SpringMVC的执行流程
    1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,
  • Selenium 特殊控件操作与 ActionChains 实践详解 小馋喵知识杂货铺 selenium测试工具
    1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个
  • 微信公众号回调java_处理微信公众号消息回调 weixin_39607620 微信公众号回调java
    1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.
  • 人工智能应用研究快讯 2021-11-30 峰谷皆平
    [HTML]ArtificialIntelligenceforSkinCancerDetection:ScopingReviewATakiddin,JSchneider,YYang,AAbd-Alrazaq...JournalofMedicalInternet...,2021ABSTACT:Background:Skincanceristhemostcommoncancertypeaffectin
  • 【Jupyter】个人开发常见命令 TIM老师 #Pycharm&VSCodepythonJupyter
    1.查看python版本importsysprint(sys.version)2.ipynb/py文件转换jupyternbconvert--topythonmy_file.ipynbipynb转换为mdjupyternbconvert--tomdmy_file.ipynbipynb转为htmljupyternbconvert--tohtmlmy_file.ipynbipython转换为pdfju
  • 用代码生成艺术字:设计个性化海报的秘密
    本文围绕“用代码生成艺术字:设计个性化海报的秘密”展开,先概述代码生成艺术字在海报设计中的独特价值,接着介绍常用的代码工具(如HTML、CSS、JavaScript等),详细阐述从构思到实现的完整流程,包括字体样式设计、动态效果添加等,还分享了提升艺术字质感的技巧及实际案例。最后总结代码生成艺术字的优势,为设计师提供打造个性化海报的实用指南,助力提升海报设计的独特性与吸引力,符合搜索引擎SEO标准
  • 前端面试每日 3+1 —— 第39天 浪子神剑
    今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss
  • GDP经济社会人文民生栅格数据下载网站汇总 疯狂学习GIS
      本文为“GIS数据获取整理”专栏(https://blog.csdn.net/zhebushibiaoshifu/category_10857546.html)中第八篇独立博客,因此本文全部标题均由“8”开头。本文对目前主要的GDP、社会与经济数据获取网站加以整理与介绍,若需其它GIS领域数据(如遥感影像数据、气象数据、土地土壤数据、农业数据等),大家可以点击上方专栏查看,也可以看这一篇汇总文
  • 【MySQL】MySQL数据库如何改名 武昌库里写JAVA 面试题汇总与解析springbootvue.jssqljava学习
    MySQL建库授权语句https://www.jianshu.com/p/2237a9649ceeMySQL数据库改名的三种方法https://www.cnblogs.com/gomysql/p/3584881.htmlMySQL安全修改数据库名几种方法https://blog.csdn.net/haiross/article/details/51282417MySQL重命名数据库https://
  • 移动端适配rem方案 简单的码农
    1.rem+动态html的font-size1.rem单位是相对于html元素的font-size来设置的,那么如果我们需要在不同的屏幕下有不同的尺寸,可以动态的修改html的font-size尺寸。2.比如如下案例:设置一个盒子的宽度是2rem;设置不同的屏幕上html的font-size不同;image这样在开发中,我们只需要考虑两个问题:问题一:针对不同的屏幕,设置html不同的font-s
  • Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录 二倍速播放 前端vue.js
    1.迁移动机与技术选型1.1CSR架构的局限性基于Vue3和Vite构建的客户端渲染(CSR)单页应用(SPA)提供了良好的开发体验和用户交互流畅性。但是其核心局限在于:搜索引擎优化(SEO):初始HTML响应仅包含一个根div元素,实际内容由JavaScript在浏览器端动态生成。虽然主流搜索引擎(如Google)能够执行部分JavaScript,但其抓取效率和稳定性不如直接获取完整HTML。非
  • redis反弹shell时kali无法接收回弹的解决方法 显哥无敌 shellredis
    无法接受回谈大概率是bash命令写的不对,那个crontab中间的星号个数是有意义的,不是随便加的,下面贴一下crontab的基本用法https://www.cnblogs.com/zhoading/p/11572630.html{minute}{hour}{day-of-month}{month}{day-of-week}{full-path-to-shell-script}如果是要cronta
  • native.js设置可缩放的webview并隐藏缩放控件 Nanayai
    需求明确:webview页面可以手指缩放,并且不要那个原生控件;实现思路:1.使用h5+封装好的方法:设置scalable属性,并在html中设置meta标签:user-scalable=yes或不设置,minimum-scale和maximum-scale需要注意不要都设为1:mui.openWindow({url:"someThing",id:"someThing",styles:{scala
  • Redis反弹Shell 波吉爱睡觉 web安全#未授权访问漏洞#SSRFredis网络安全web安全
    这里我来总结几种Redis反弹Shell的方法一、利用Redis写WebShell前提条件开了web服务器,并且知道路径,还需要有文件读写增删改查的权限条件比较苛刻,但是满足条件上传就会简单一点,我们直接将文件写入www目录下,完了使用工具连接即可。语句:redis:6379>configsetdir/var/www/html/redis:6379>configsetdbfilenameshell
  • Windows下Oracle安装图解 叫我老村长
    Windows下Oracle安装图解----oracle-win-64-11g详细安装步骤一、Oracle下载官方下地址http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htmlwin32位操作系统下载地址:http://download.oracle.com/otn/nt/oracle11g
  • 震惊!DOM变化监控神器MutationObserver,前端开发必知的隐藏武器! coding随想 JavaScript前端javascripthtml5
    一、什么是MutationObserver?如果你是一个前端开发者,一定会遇到这样的场景:页面动态加载内容后,某些操作失效了。比如,你写了一个监听按钮点击的代码,但按钮是通过AJAX动态加载的,你的代码根本无法触发。这个时候,你就需要一个“监控哨兵”——MutationObserver,它能实时监听DOM树的变化,帮你捕获那些“暗中作祟”的节点变动。MutationObserver是HTML5引入
  • 11. HTML 中 DOCTYPE 的作用 yqcoder 前端面试-CSShtml前端
    总结H5的声明HTML5的DOCTYPE声明HTML5中的声明用于告诉浏览器当前文档使用的是HTML5的文档类型。它必须是文档中的第一行内容(在任何HTML标签之前),以确保浏览器能够正确地解析和渲染页面。DOCTYPE的作用触发标准模式:DOCTYPE声明的主要作用是让浏览器以标准模式(StandardsMode)来解析和渲染页面,而不是以兼容模式(QuirksMode)。兼容性:在没有DOCT
  • 从0到1学PHP(一):PHP 基础入门:开启后端开发之旅
    目录一、PHP简介与发展历程1.1PHP定义与特点1.2在后端开发中的地位1.3发展阶段及重要版本更新二、PHP开发环境搭建2.1Windows系统下搭建步骤2.2Mac系统下搭建方法及常用工具2.3适合初学者的集成开发环境三、第一个PHP程序3.1编写"HelloWorld"程序3.2程序基本结构和执行过程3.3PHP代码的嵌入方式(在HTML中)一、PHP简介与发展历程1.1PHP定义与特点P
  • C# 单问号 ? 与 双问号 ?? 三分明月墨 C#
    https://www.runoob.com/csharp/csharp-nullable.html
  • JSP编程从入门到精通:现代Web开发与AI集成实战指南 AI编程员 001AI传统&编程语言002AI编程工具汇总003AI编程作品汇总人工智能AI编程笔记开发语言深度学习
    JSP编程从入门到精通:现代Web开发与AI集成实战指南一、JSP基础与环境搭建1.1JSP核心概念与工作原理JSP(JavaServerPages)是一种动态网页开发技术,通过在HTML中嵌入Java代码实现服务器端逻辑。其本质是Servlet的扩展,当客户端首次请求JSP页面时,服务器会将其编译为Servlet类(如index_jsp.java),再执行该类的_jspService()方法生成
  • 《博客园精华集》web标准分册第2论筛选结果文章列表
    《博客园精华集》web标准部分筛选结果(共55篇)一个喜欢网页设计的程序员作者:Awen根本不存在DIV+CSS布局这回事作者:CatChen欲练CSS,必先宫IE作者:CatChen你有强迫症吗?作者:CatChenSPAN元素和DIV元素的区别作者:ChrisLiudiv的认识作者:ChrisLiu实时检验您的页面是否符合XHTML标准——使用ValidatorModule作者:Dflying
  • vue 使用 iFrame 嵌套带有登录的网站 登录成功 无法跳转 WHY<=小氣鬼=> 前端
    这个问题有点好玩,当时做的时候没想起来,哎不说讲一下问题1.项目在使用iFrame标签嵌套其他,网址或者自己的网址的时候如果没有登录只是浏览是没有问题的2.如个你使用Frame标签嵌套的网址是带有登录的需要注意两个网站是不是在统一域名下面如果在就可以正常登录,如果不在的话会出现登录成功但是无法跳转的问题3.在Vue项目中使用iFrame嵌套本地.html文件,本地.html文件向父页面抛出的方法或
  • 响应式电子邮件设计指南:MJML实践教程
    本文还有配套的精品资源,点击获取简介:响应式设计在电子邮件领域至关重要,确保邮件内容在各种设备上均能良好显示。MJML(MailjetMarkupLanguage)是一个专门用于创建响应式电子邮件模板的开源标记语言。本示例详细介绍了如何使用MJML来设计自适应的邮件模板,涵盖安装工具、使用预定义组件、编译HTML代码等关键步骤。通过实际操作MJML的预定义组件如mj-head、mj-body、mj
  • android开发------编写用户界面之相对布局 cc-Cocos2D-X Android基础
    元素之间总是相对于它们的同级元素或父元素进行排列布局。http://www.cnblogs.com/ai-developers/p/android_relativelayout.html
  • 初始化 K8s 主节点时 报错failed to pull image registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.17 Ashmcracker kubernetes容器云原生
    运行r如下命令初始化kubernetes的master节点2025年3月12日更新:阿里云的镜像仓库目前只给它自己云上的服务器使用了,建议更换华为云的镜像加速器https://support.huaweicloud.com/usermanual-swr/swr_01_0045.htmlkubeadminit\--kubernetes-version=v1.23.17\--image-reposit
  • 十年爬虫经验告诉你爬虫被封怎么办 congqian8750 爬虫
    十年爬虫经验告诉你爬虫被封怎么办现在很多站长都会有抓取数据的需求,因此网络爬虫在一定程度上越来越火爆,其实爬虫的基本功能很简单,就是分析大量的url的html页面,从而提取新的url,但是在实际操作中通常都会遇到各种各样的问题,比如说抓取数据的过程中需要根据实际需求来筛选url继续爬行;或者说为了能正常爬取,减少别人服务器的压力,你需要控制住爬取的速度和工作量···但是即便再小心,很多时候也会遇到
  • 前端面试题 大大。 前端vue.jsjavascript
    HTML5的新特性和CSS3的新特性引入了一系列语义化标签使文档结构更加清晰(header,nav,aside,article,footer,section),多媒体支持video,audio,Canvas绘图div上下居中对齐的几种方式第一种:flex布局display:flex;justify-content:center;/*水平居中/align-items:center;/垂直居中/第二种
  • 用 Python BeautifulSoup 实现网页表格数据的提取
    用PythonBeautifulSoup实现网页表格数据的提取关键词:Python、BeautifulSoup、网页表格数据提取、HTML解析、数据处理摘要:本文深入探讨了如何使用Python的BeautifulSoup库来实现网页表格数据的提取。首先介绍了相关背景知识,包括目的、预期读者等内容。接着详细阐述了BeautifulSoup的核心概念和工作原理,并给出了相应的流程图。然后讲解了核心算法
  • Python BeautifulSoup 解析网页按钮元素 PythonAI编程架构实战家 Python人工智能与大数据Python编程之道pythonbeautifulsoup开发语言ai
    PythonBeautifulSoup解析网页按钮元素:从基础原理到工程实践的深度解析关键词BeautifulSoup、HTML解析、按钮元素定位、DOM树遍历、CSS选择器、网络爬虫、前端自动化摘要本文系统解析使用PythonBeautifulSoup库定位和提取网页按钮元素的全流程技术方案。从HTML文档的底层结构出发,结合BeautifulSoup的核心解析机制,覆盖从基础概念到高级工程实践
  • 开发者关心的那些事 圣子足道 ios游戏编程apple支付
    我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么? 产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用
  • 负载均衡器技术Nginx和F5的优缺点对比 bijian1013 nginxF5
            对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。         目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高
  • LeetCode[Math] - #9 Palindrome Number Cwind javaAlgorithm题解LeetCodeMath
    原题链接:#9 Palindrome Number   要求: 判断一个整数是否是回文数,不要使用额外的存储空间   难度:简单   分析: 题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。 注:没有看到有关负数是否可以是回文数的明确结论,例如
  • 画图板的基本实现 15700786134 画图板
     要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。 首先,需要显示一个JFrame界面: public class DrameFrame extends JFrame {              //显示
  • linux的ps命令 被触发 linux
    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行
  • Android 音乐播放器 下一曲 连续跳几首歌 肆无忌惮_ android
    最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调 player.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.reset(); Log.i("H
  • java导出txt文件的例子 知了ing javaservlet
    代码很简单就一个servlet,如下: package com.eastcom.servlet; import java.io.BufferedOutputStream; import java.io.IOException; import java.net.URLEncoder; import java.sql.Connection; import java.sql.Resu
  • Scala stack试玩, 提高第三方依赖下载速度 矮蛋蛋 scalasbt
    原文地址: http://segmentfault.com/a/1190000002894524 sbt下载速度实在是惨不忍睹, 需要做些配置优化 下载typesafe离线包, 保存为ivy本地库 wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip 解压r
  • phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。 alleni123 linuxspider
    1. 首先从官网 http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。 2. 安装依赖 sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6 3. 配置环境变量 vi /etc/profil
  • JAVA IO FileInputStream和FileOutputStream,字节流的打包输出 百合不是茶 java核心思想JAVA IO操作字节流
    在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流 1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流   类 FileInputStream
  • Spring基础实例(依赖注入和控制反转) bijian1013 spring
    前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口 package com.bijian.spring.base3; public interface Weapon { void kil
  • HR看重的十大技能 bijian1013 提升能力HR成长
        一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。   一、解决问题的能力   每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决
  • 【Thrift一】Thrift编译安装 bit1129 thrift
    什么是Thrift The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
  • 【Avro三】Hadoop MapReduce读写Avro文件 bit1129 mapreduce
    Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。 这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果
  • nginx定制500,502,503,504页面 ronin47 nginx 错误显示
    server { listen 80; error_page 500/500.html; error_page 502/502.html; error_page 503/503.html; error_page 504/504.html; location /test {return502;}} 配置很简单,和配
  • java-1.二叉查找树转为双向链表 bylijinnan 二叉查找树
    import java.util.ArrayList; import java.util.List; public class BSTreeToLinkedList { /* 把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \
  • Netty源码学习-HTTP-tunnel bylijinnan javanetty
    Netty关于HTTP tunnel的说明: http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description 这个说明有点太简略了 一个完整的例子在这里: https://github.com/bylijinnan
  • JSONUtil.serialize(map)和JSON.toJSONString(map)的区别 coder_xpf jqueryjsonmapval()
     JSONUtil.serialize(map)和JSON.toJSONString(map)的区别   数据库查询出来的map有一个字段为空   通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul
  • Hibernate缓存总结 cuishikuan 开源sshjavawebhibernate缓存三大框架
    一、为什么要用Hibernate缓存? Hibernate是一个持久层框架,经常访问物理数据库。 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。 缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。   二、Hibernate缓存原理是怎样的? Hibernate缓存包括两大类:Hib
  • CentOs6 dalan_123 centos
    首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang
  • 10款用 jquery 实现滚动条至页面底端自动加载数据效果 dcj3sjt126com JavaScript
      无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。 无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条
  • ImageButton去边框&Button或者ImageButton的背景透明 dcj3sjt126com imagebutton
    在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法 一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX" 第二种方法就是将ImageButton背景改为透明,这个方法更常用 在XML里;    <ImageBut
  • JSP之c:foreach eksliang jspforearch
    原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html <c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1
  • Android实现主动连接蓝牙耳机 gqdy365 android
    在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。 大致可以分三步: 一、扫描蓝牙设备: 1、注册并监听广播: BluetoothAdapter.ACTION_DISCOVERY_STARTED BluetoothDevice.ACTION_FOUND BluetoothAdapter.ACTION_DIS
  • android学习轨迹之四:org.json.JSONException: No value for hyz301 json
    org.json.JSONException: No value for items  在JSON解析中会遇到一种错误,很常见的错误   06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&
  • 干货分享:从零开始学编程 系列汇总 justjavac 编程
    程序员总爱重新发明轮子,于是做了要给轮子汇总。 从零开始写个编译器吧系列 (知乎专栏) 从零开始写一个简单的操作系统 (伯乐在线) 从零开始写JavaScript框架 (图灵社区) 从零开始写jQuery框架 (蓝色理想 ) 从零开始nodejs系列文章 (粉丝日志) 从零开始编写网络游戏 
  • jquery-autocomplete 使用手册 macroli jqueryAjax脚本
    jquery-autocomplete学习 一、用前必备 官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ 当前版本:1.1 需要JQuery版本:1.2.6 二、使用 <script src="./jquery-1.3.2.js" type="text/ja
  • PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改 超声波 oracleplsql
      在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户
  • 数据仓库数据模型之:极限存储--历史拉链表 superlxw1234 极限存储数据仓库数据模型拉链历史表
    在数据仓库的数据模型设计过程中,经常会遇到这样的需求: 1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态,    比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10
  • 10点睛Spring MVC4.1-全局异常处理 wiselyman spring mvc
    10.1 全局异常处理 使用@ControllerAdvice注解来实现全局异常处理; 使用@ControllerAdvice的属性缩小处理范围 10.2 演示 演示控制器 package com.wisely.web; import org.springframework.stereotype.Controller; import org.spring
按字母分类: ABCDEFGHIJKLMNOPQRSTUVWXYZ其他
首页 - 关于我们 - 站内搜索 - Sitemap - 侵权投诉
版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.