用 Axios 获取 EventStream
1 | const response = await axios.get('https://stream.example.com', { |
用 Axios 获取 EventStream
1 | const response = await axios.get('https://stream.example.com', { |
使用 Go 获取 IP 地址和城市
1 |
|
发现 Nginx 可以通过 proxy_set_header
来解决 CORS 问题,Caddy 也可以通过 header
来解决。
一般情况下的部署是这样的,但是没有转发后端接口
1 | :80 { |
如果需要转发后端接口,可以这样
1 | :80 { |
一般方案
1 | :8088 { |
带模块的方案
1 | (cors) { |
这是网上看到的,但是存在一个问题就是写死的不够智能,比如 Access-Control-Allow-Origin
的值是 *
,在请求参数中有 Cookie 的情况下就不能实现动态的跨域了。
1 | (cors) { |
还有个写法是
1 | (cors) { |
如果请求参数中有 Cookie 的情况下,需要设置 Access-Control-Allow-Credentials
为 true
,并且 Access-Control-Allow-Origin
的值不能为 *
,需要设置为请求的域名。
这个是占位符的文档,可以看到有很多占位符可以使用
这个是匹配器
这个是官方 Demo
Caddy 实战
还有个Whistle也可以解决跨域,这儿就不多说了
在网页上选中文本,然后获取选中文本的所有 DOM 块元素。
1 | var selection = window.getSelection(); |
1 | function getSelectedBlockElements() { |
在网页上选中文本,然后触发事件
1 | document.addEventListener('selectionchange', function () { |
selectionchange
事件适用于:Android (Chrome) 和 iOS (Safari)。
contextmenu
事件适用于:Android(Chrome、Mozilla 和 Opera)。
还有一种是监听 mouseup
事件,但是这种方式不太好,因为 mouseup
事件会在鼠标松开时触发,而不是选中文本时触发。
1 | document.addEventListener('mouseup', function () { |
移动端的话可以试试 touchstart
和 touchend
事件。
1 | document.addEventListener("DOMContentLoaded", function(event) { |
我的 DockerFile 是这样的
1 | FROM --platform=amd64 python:3 |
在 Mac m1 上运行的时候,报错
1 | 'During handling of the above exception, another exception occurred:\n' + |
按照关键词理解,是说没有安装依赖,但是我在 DockerFile 里面已经安装了依赖
然后我往上翻,发现了一个有意思的报错
1 | e>\n' + |
这个报错是说,我在 Mac m1 上运行的时候,找不到 tls-client-amd64.so
这个文件
然后我在 DockerFile 里面加了一行
1 | FROM --platform=amd64 python:3 |
这段代码的意思是,我要在 Mac m1 上运行的时候,使用 amd64 的镜像,
然后就可以运行了
这个报错还是雷罗同学帮我找到的,他跑我这个 DockerFile 的时候,一点问题都没有,我才意识到可能是 Mac m1 的问题
使用 Android Studio 打包安卓应用,需要签名,这里记录一下签名的过程。
Android Studio 生成签名文件
在 Android Studio 中,新建一个空白工程,构建后,会在项目的app
目录下生成debug.keystore
文件,这个就是签名文件。
签名文件的路径
1 | # Windows |
签名文件的密码
1 | # Windows |
如果还是没有文件,可以在 Android Studio 中,点击Build
->Generate Signed Bundle/APK
,然后点击Next
,然后点击Create New
,然后输入密码,然后点击Finish
,就会生成签名文件了。
或者 使用命令行生成签名文件
1 | keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android |
这个是谷歌的文档,可以参考一下。