微信小程序页面实现分享功能

微信小程序页面实现分享功能
寻觅~流光window全局属性
name
📖 window.name
定义:
window.name
是window
对象的一个 可读写字符串属性。作用:表示当前浏览上下文(即浏览器窗口或标签页)的名字。
默认值:空字符串
""
。类型:始终是字符串。
🔑 特点
用于窗口/标签页的标识
当你在<a target="name">
或window.open(url, "name")
里指定的 name 值,就是和window.name
绑定的。
- 如果有一个已存在的窗口/标签页的
window.name
值等于"myWin"
,那么window.open(url, "myWin")
就会在那个窗口里打开。- 如果没有,就会新建一个窗口,并把它的
window.name
设置为"myWin"
。持久化特性
window.name
的值在 页面跳转时不会丢失(即使跳转到不同域名的页面,值仍然保留)。
- 这在以前被用来做 跨页面数据传递。
- 但因为有安全风险(不同域名也能读取),现在通常用
postMessage
或localStorage
来代替。字符串存储
无论你给它赋什么,它都会转换成字符串。
1
2 window.name = 123;
console.log(window.name); // "123"
open()
📖 window.open()
window.open()
会打开一个新的浏览上下文(标签页 / 窗口 / iframe),并加载指定的 URL。
1 | window.open(url, target, windowFeatures); |
🧩 参数
- url(可选):要打开的页面地址,默认
about:blank
- target(可选):在哪个上下文打开
_blank
→ 新标签/窗口_self
→ 当前窗口_parent
→ 父级框架_top
→ 顶级框架"自定义名字"
→ 如果已有这个名字的窗口就复用,否则新建- windowFeatures(可选):字符串,控制新窗口的特性,比如:
width=600,height=400
→ 大小left=100,top=100
→ 位置popup
→ 弹出式窗口(工具栏等最简化)noopener
→ 禁止新窗口访问window.opener
noreferrer
→ 不带Referer
头,同时隐式加noopener
返回值:
WindowProxy
对象(可以用来操作新窗口,但受同源策略限制)。
✅ 比如
1 | window.open( |
getSelection()
📖 返回一个 Selection
对象,表示用户选择的文本范围或光标的当前位置。
1 | const selection = window.getSelection(); |
✅ 常见用法
获取用户选中的文本内容
1
2const selection = window.getSelection();
console.log(selection.toString()); // 打印用户选中的文字获取选取的范围
1
2
3
4
5const selection = window.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
console.log(range.startContainer, range.endContainer);
}清除选取
1
window.getSelection().removeAllRanges();
手动设置选取
1
2
3
4
5
6
7const range = document.createRange();
const target = document.getElementById("text");
range.selectNodeContents(target);
const selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
评论
匿名评论隐私政策
TwikooWaline
✅ 你无需删除空行,直接评论以获取最佳展示效果