首页
苏兮影视
随笔记
壁纸
更多
直播
时光轴
友联
关于
统计
Search
1
软件添加id功能按钮
708 阅读
2
v2ray节点搭建
531 阅读
3
typecho非常有特色的模块
461 阅读
4
QQxml消息卡片生成源码
421 阅读
5
Linux下提权常用小命令
368 阅读
谈天说地
建站源码
经验教程
资源分享
动漫美图
登录
Search
标签搜索
java
flutter
springboot
rust
安卓
linux
vue
docker
joe
快捷键
git
fish shell
maven
redis
netty
dart
groovy
js
设计模式
rpc
尽意
累计撰写
95
篇文章
累计收到
38
条评论
首页
栏目
谈天说地
建站源码
经验教程
资源分享
动漫美图
页面
苏兮影视
随笔记
壁纸
直播
时光轴
友联
关于
统计
搜索到
95
篇与
的结果
浏览器window对象的常用属性和方法
1. window简介: window 是浏览器的全局对象。通过 window,可以访问所有全局变量、全局函数、文档对象模型 (DOM) 等。示例值:console.log(window === window.window); // true2. document简介: document 对象表示 HTML 或 XML 文档的根节点。它提供了对文档内容的访问和操作方法。常用属性和方法:document.title: 获取或设置文档的标题。console.log(document.title); // "Example Page" document.title = "New Title";document.getElementById(id): 根据 ID 获取元素。var element = document.getElementById("header"); console.log(element.innerHTML); // 输出该元素的 HTML 内容document.querySelector(selector): 返回匹配指定 CSS 选择器的第一个元素。var element = document.querySelector(".my-class"); console.log(element.innerHTML); // 输出该元素的 HTML 内容document.createElement(tagName): 创建一个指定标签类型的新元素。var newDiv = document.createElement("div"); newDiv.innerHTML = "Hello, World!"; document.body.appendChild(newDiv);document.addEventListener(event, function): 为文档添加事件监听器。document.addEventListener("DOMContentLoaded", function() { console.log("Document is fully loaded"); });3. location简介: location 对象包含当前页面的 URL 信息,并提供了操作 URL 的方法。常用属性和方法:location.href: 获取或设置当前页面的 URL。console.log(location.href); // "https://www.example.com/page.html" location.href = "https://www.example.com/newpage.html";location.protocol: 获取或设置当前 URL 的协议。console.log(location.protocol); // "https:" location.protocol = "http:";location.host: 获取或设置当前 URL 的主机名和端口号。console.log(location.host); // "www.example.com:8080" location.host = "www.newdomain.com";location.pathname: 获取或设置 URL 的路径部分。console.log(location.pathname); // "/page.html" location.pathname = "/newpage.html";location.search: 获取或设置 URL 中的查询字符串。console.log(location.search); // "?id=123&name=abc" location.search = "?id=456";location.hash: 获取或设置 URL 中的片段标识符(锚点)。console.log(location.hash); // "#section2" location.hash = "#section1";location.reload(): 重新加载当前页面。location.reload();location.assign(url): 加载新的页面。location.assign("https://www.example.com/newpage.html");4. screen简介: screen 对象提供了用户屏幕的属性信息,比如分辨率和可用尺寸。常用属性:screen.width: 屏幕的宽度(以像素为单位)。console.log(screen.width); // 1920screen.height: 屏幕的高度(以像素为单位)。console.log(screen.height); // 1080screen.availWidth: 屏幕可用的宽度,排除系统任务栏等部分。console.log(screen.availWidth); // 1920screen.availHeight: 屏幕可用的高度。console.log(screen.availHeight); // 1040screen.colorDepth: 屏幕颜色深度(以位为单位)。console.log(screen.colorDepth); // 245. navigator简介: navigator 对象包含浏览器的信息,如名称、版本、语言和在线状态。常用属性:navigator.userAgent: 返回浏览器的用户代理字符串,包含有关浏览器版本、操作系统等的信息。console.log(navigator.userAgent); // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ..."navigator.platform: 返回浏览器运行的操作系统平台。console.log(navigator.platform); // "Win32"navigator.language: 返回当前浏览器的语言。console.log(navigator.language); // "en-US"navigator.onLine: 返回一个布尔值,表示浏览器是否处于联网状态。console.log(navigator.onLine); // true6. history简介: history 对象包含用户的会话历史记录,可以在用户浏览的页面之间进行前进或后退操作。常用方法:history.back(): 导航到历史记录中的前一个页面。history.back();history.forward(): 导航到历史记录中的下一个页面。history.forward();history.go(n): 根据相对位置加载页面。例如 n=1 前进一个页面,n=-1 后退一个页面。history.go(-1); // 后退到上一个页面history.pushState(state, title, url): 添加新的历史记录条目,而不重新加载页面。state 是与历史记录关联的状态对象,title 是页面标题,url 是新的 URL(相对路径)。history.pushState({page: 1}, "New Page", "/newpage.html");7. element简介: element 是 DOM 树中的元素节点,表示文档中的一个 HTML 元素。可以通过 document 对象来访问和操作这些元素。常用属性和方法:element.innerHTML: 获取或设置元素的 HTML 内容。var element = document.getElementById("content"); console.log(element.innerHTML); // 输出元素内部的 HTML element.innerHTML = "<p>New content</p>"; // 设置新的 HTML 内容element.style: 获取或设置元素的内联样式。element.style.backgroundColor = "blue";element.setAttribute(name, value): 设置元素的属性值。element.setAttribute("class", "new-class");element.getAttribute(name): 获取元素的属性值。var className = element.getAttribute("class"); console.log(className); // 输出元素的 class 属性值element.addEventListener(event, function): 为元素添加事件监听器。element.addEventListener("click", function() { alert("Element clicked!"); });element.appendChild(child): 将一个节点添加为元素的最后一个子节点。var newElement = document.createElement("div"); element.appendChild(newElement);
2024年08月10日
28 阅读
0 评论
2 点赞
groovy闭包
// 这里定义一个空的hash表,也是简写 def ext = [null:null] def ext = [:] // 如果写成def ext = [] 则为一个空的数组 // 这里定义了一个person的哈希表 def person = [name:"小明",age:18] // 可以使用键的方式接收值 println person.name println person["name"] // exc函数接收一个闭包参数 def exc(fun){ fun() } // 执行exc函数,传入一个闭包({}) exc({ println "hello" }) // 由于groovy的语法特性,函数只有一个参数时可以省略() // 最终简写为exc {} exc {println "hh"} // exc2函数接收一个闭包参数,一个普通传参 def exc2(fun,it){ fun(it) } // 执行exc2函数,传入两个参数 exc2({ println "hello $it" },4) // 定义一个函数接收一个闭包 def exc3(fun,it){ fun(it.name,it.age) } exc3({ name, age -> {println "${name}:${age}"} },[name:"tom",age:18])
2024年07月26日
20 阅读
0 评论
2 点赞
2024-05-17
记录一下flutter的值传递细节
最近在实现一个类似qq相册的功能,点击右上角图片的小圆圈框选。思路也很简单,当image控件的值发送改变时,重新rebuild渲染,当然是局部渲染,所以要封装这么一个控件,构造函数: final File file; final BottomImageChanged isChanged; final VoidCallback onPress; 图片显示使用的FileImage,传递一个回调函数,用来处理区选对应的widget,由于dart的传参对于基本变量都是值传递吗,所以也就造成了父控件值改变了,但是子组件不能监听到,所以使用类包装一下基础变量值,提供get set方法。也可以使用ValueNotifier包装基础变量,List.filled 和 List.generate 都是用于创建固定长度的列表List.filled:列表中的所有元素都是相同的对象,适用于需要多个相同对象引用的情况。List.generate:每个元素都是独立的对象,适用于需要为每个列表项创建不同对象的情况,例如为每个列表项创建独立的 ValueNotifier。
2024年05月17日
31 阅读
0 评论
0 点赞
netty自定义编解码器解决黏包半包问题
netty自定义消息体,编码跟解码是相对应的关系,比如编码使用,四个字节的魔数,一字节的版本,一字节的序列化方式,四字节的javabean对象序列化的长度,javabean序列化的内容。那么解码也是按照自定义的字节数拿到数据,前面10个字节都是固定的,只有javabean序列化的内容是不固定的。所以解码必然会有黏包半包问题,假设第一次消息有100个字节,javabean对象序列化的长度为120,那么读取数据是不全的,也就是半包。解决方案,使用netty官方的handel,new LengthFieldBasedFrameDecoder(),帧解码器。当缓存的消息主题不够时,不会将消息向下传递,等待完整的数据才向下传递交给解码器解码。
2024年05月12日
34 阅读
0 评论
1 点赞
flutter 卡在 "Running Gradle task..."
每次启用新的flutter插件都会卡一阵子,网上的说法也都是换maven下载源,即使是换了也还是会卡住。解决方案:在终端中打开flutter项目目录,cd到android目录下,使用gradlew clean清理一下,清理完成后重新build即可。
2024年05月11日
29 阅读
0 评论
1 点赞
1
...
7
8
9
...
19