URL 中的 AppleScript 哈希符号 (#)

Posted

技术标签:

【中文标题】URL 中的 AppleScript 哈希符号 (#)【英文标题】:AppleScript Hash Symbol (#) in URL 【发布时间】:2022-01-16 11:40:35 【问题描述】:

我有这个 Automator AppleScript 来翻译文本。它有效,但只有一个词。如果我选择两个或更多单词进行翻译,它会将 URL 中的哈希 (#) 更改为 %23,如下所示

https://www.deepl.com/translator%23pt/en/

我得到一个 404 Not Found。

on run input, parameters
    open location "https://www.deepl.com/translator#pt/en/" & input
end run

【问题讨论】:

input 是一个list,需要展平为string/text 并正确URL 编码 @user3439894 太棒了!非常感谢! 【参考方案1】:

我会使用来自Encoding and Decoding Text 的“清单 32-7 AppleScriptObjC:URL 编码文本的处理程序”。

示例 AppleScript 代码

use framework "Foundation"
use scripting additions

on run input, parameters
    open location "https://www.deepl.com/translator#pt/en/" & encodeText(input as string)
end run

on encodeText(theText)
    set theString to stringWithString_(theText) of NSString of current application
    set theEncoding to NSUTF8StringEncoding of current application
    set theAdjustedString to stringByAddingPercentEscapesUsingEncoding_(theEncoding) of theString
    return (theAdjustedString as string)
end encodeText

【讨论】:

太棒了!非常感谢!

以上是关于URL 中的 AppleScript 哈希符号 (#)的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 符号与哈希中的字符串

如何检测 JavaScript 中的哈希后 URL 是不是已更改

Angular 2 从 URL 中删除哈希 (#)

如何从网址中删除哈希“#”符号?

如何在 URL 中转义哈希字符

使用 AppleScript 从 Web 浏览器最前面的窗口中获取 URL:权威列表