跳至主要内容

无服务器 自建短链服务 Url-Shorten-Worker 小改进 | Bootstrap List group | 长链接文本框预搜索localStorage | 代码优化

 源码GitHub: 

https://github.com/Crap996/Url.CF-Web

搭建方法:

https://blog.uncle.cloudns.org/2023/12/url-shorten-worker.html

效果:



应用 Bootstrap List group 美化

参考:

Bootstrap List group

https://getbootstrap.com/docs/4.0/components/list-group/

JS添加元素时添加class属性

https://developer.mozilla.org/en-US/docs/Web/API/Element/classList

实施:

index.html 设置ul 的属性 class list-group

<ul classs="list-group" id="urlList"> 

main.js 设置li 的属性 class list-group-item

let urlList = document.querySelector("#urlList")
let child = document.createElement('li')
let text = document.createTextNode(shortUrl + " " + longUrl)
child.appendChild(text)
child.classList.add("list-group-item")
urlList.append(child)

--------

代码优化

把load.js去掉了,代码并入main.js。向ul列表中添加li的代码提出为函数,在加载页面时和添加短链时调用。

function addUrlToList(shortUrl, longUrl) {
  let urlList = document.querySelector("#urlList")
  let child = document.createElement('li')
  let text = document.createTextNode(shortUrl + " " + longUrl)
  child.appendChild(text)
  child.classList.add("list-group-item")
  urlList.append(child)
}

--------

长链接文本框预搜索localStorage

参考:

文本框内容变化事件

https://www.w3schools.com/jsref/event_oninput.asp

实施:

给长链接的文本框加上oninput事件调用加载loadUrlList()
<input type="text" class="form-control" id="longURL" aria-describedby="basic-addon1" placeholder="Example: https://example.com/" oninput="loadUrlList()">

 loadUrlList() 增加判断长链接文本框内容

// 文本框中的长链接
let longUrl = document.querySelector("#longURL").value
console.log(longUrl)

// 遍历localStorage
let len = localStorage.length
console.log(+len)
for (; len > 0; len--) {
    let keyShortURL = localStorage.key(len - 1)
    let valueLongURL = localStorage.getItem(keyShortURL)
    // 如果长链接为空,加载所有的localStorage
    // 如果长链接不为空,加载匹配的localStorage
    if (longUrl == "" || (longUrl == valueLongURL)) {
      addUrlToList(keyShortURL, valueLongURL)
    }
}

--------

 

评论

此博客中的热门博文

解决 ClouDNS 域名申请 CloudFlare SSL 证书问题

Text.  在上篇文章,我讲解过了如何在 ClouDNS 上申请自己的免费二级域名。但是如果使用这个域名并配合 CloudFlare 的 SSL 证书的话,可能会出现这个问题。在这篇文章中,我们就着手来解决这个问题 准备材料 ClouDNS 域名 CloudFlare 账号 部署步骤 打开 CF 的控制面板,然后进入到自己的域名。转到 SSL 中的 Edge Certificates 页面,找到类似 *.xx.cloudns.biz, xx.cloudns.biz 的选项,点击展开,然后复制里面的 TXT 记录和值备用 打开 ClouDNS 的域名 DNS 的 TXT 解析页面,然后点击 “Add new record” 按钮,创建 TXT 记录 将 CF 的解析值填写进来 等待大概 15-30 分钟,然后 Status 出现 “Active” 即可

解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题

Text. 在我们将 ClouDNS 域名 CloudFlare 之后,估计大家可能发现了一个问题:如果在 CloudFlare 的 DNS 解析这个域名,那这个域名有可能无法使用。这是因为不知道啥的原因,ClouDNS 的域名 DNS 还未完全转接给 CloudFlare 进行托管。这篇教程中,我就来和大家一起来解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题。 准备材料 ClouDNS 域名及账号 CloudFlare 账号 解决步骤 打开 CF 的 DNS 控制面板,解析自己的域名,并关闭小云朵 我们这时可以尝试 ping,可以发现是很大概率是 ping 不出来的 这时,我们回到 ClouDNS 的域名解析页面,添加一条和 CF DNS 相同样的记录 等待 ClouDNS 解析好之后,再次尝试 ping,如果 ping 出来的 ip 是解析好的 ip,即可代表成功。

节点客户端推荐:Karing,支持 Win / Mac / 安卓 / iOS,并附使用教程

  相信有些小白肯定和我几年前刚入坑一样热衷于使用 XX VPN 这种软件觉得一键上手挺容易,而不去使用机场、自建节点。但是这种 VPN 来说肯定比自建节点来讲是不安全的。那么我们有没有一款软件可以让小白去使用机场、自建节点呢?这篇文章介绍的 Karing,就是这种软件。下面我来和大家一起了解并使用这款软件 准备材料 Win / Mac / 安卓 / iOS 平台的设备 步骤 如为 Win / 安卓设备,打开他们的项目: https://github.com/KaringX/karing/releases ,然后根据自己的平台下载对应的安装包。如为 Mac / iOS 设备,直接在 App Store 搜索 Karing / Karing VPN 安装即可 打开 Karing,这里我们选择简体中文,点击“下一步” 分流规则这里按照默认即可,点击“下一步” 在这里我们可以通过订阅 / 节点链接、导入配置文件和扫码来添加节点 这里就以添加订阅为例,在配置链接处复制粘贴订阅链接,然后填写备注,最后点击右上角按钮添加即可 点击中间的开关按钮,启用代理。这里程序会挑选出延迟最低的节点供你链接 可以点击最下面的框,然后手动选择某一节点进行链接 可以在设置→我的配置处,管理自己的订阅配置 Text. Text.