Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问怎么推送一个链接? #18

Closed
hzfmer opened this issue Mar 10, 2019 · 6 comments
Closed

请问怎么推送一个链接? #18

hzfmer opened this issue Mar 10, 2019 · 6 comments

Comments

@hzfmer
Copy link

hzfmer commented Mar 10, 2019

有时候推送的文本其实是一个网址, 有什么办法可以强行转义,保证推送的就是文本本身吗?

@Finb
Copy link
Owner

Finb commented Mar 10, 2019 via email

@hzfmer
Copy link
Author

hzfmer commented Mar 10, 2019

@Finb
我是拿来直接用的, 找了个automator的workflow。普通文本没问题。
不过不好意思没用过js, 尝试着在workflow里修改了下,没有成功。
下面是workflow调用的js,能指导一下该如何编码吗? 多谢!

function run(input, parameters) {
	
	var text=input;
	var apiUrl="https://api.day.app/{MYKEY}/";
	var autoCopy="?automaticallyCopy=1";
	var urlResult=encodeURI(apiUrl+text+autoCopy);
	return urlResult;
}

@Finb
Copy link
Owner

Finb commented Mar 10, 2019 via email

@hzfmer
Copy link
Author

hzfmer commented Mar 10, 2019

谢谢!

不过这样还是有点问题, 比如 copy 了

https://github.com/Finb/Bark/issues/18

再推送的话,就推送不过来。 似乎相当于在 chrome 输入:

https://api.day.app/{MYKEY}/https://github.com/Finb/Bark/issues/18?automaticallyCopy=1

但是如果只是 copy

https://github.com

就会推送

github.com

总之,https://会被忽略 (严格来说还是连带 https 一起推送更好) , 而/ 出现超过一次就可能推送失败了。看起来应该还是 url 编码的问题?

@Finb
Copy link
Owner

Finb commented Mar 11, 2019

@hzfmer
对,因为:// 破坏了 URL 的结构,
如果有这种特殊字符,需要URL编码
你这里的情况需要这样

https://api.day.app/{MYKEY}/https%3A%2F%2Fgithub.com%2FFinb%2FBark%2Fissues%2F18?automaticallyCopy=1

你那是否有类似 encodeURIComponent 的方法? 需要这样对URL进行编码下

@hzfmer
Copy link
Author

hzfmer commented Mar 11, 2019

是的, 我今天自己研究了下,确实需要这样编码。 但是一个简单的workflow要加上这样的正则替换还是挺麻烦的,就先算了吧。
总之多谢!

@hzfmer hzfmer closed this as completed Mar 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants