This repository has been archived by the owner on Aug 24, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
API 文档 - url
模块
#56
Labels
Comments
总体上最好需要 follow 某种惯用 API,以减少学习成本和方便记忆。 |
_.url.isInFrame 在 url 下似乎有点诡异。 |
😄 是的,略诡异。好几年前不严谨的 API 组织方式一直残留下来。不过暂时也想不出放进哪个模块(命名空间)更适合。改成 另外还想把这种预定义的变量(属性)改成方法: |
决定暂时删掉 |
zpbx
pushed a commit
to zpbx/underscore.ext
that referenced
this issue
Jun 24, 2015
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
API 文档 -
url
模块JavaScript 接口
_.url.parseQuery(query)
把 query string 解析为以对象的方式保存的名值对。
参数
query
-- 字符串。需要解析的 query string。返回值
对象。解析结果,以名值对的方式保存。
注意事项
{}
)。foo=1&bar=2
,不包含问号,多个连续的&
字符会被视为一个。true
、false
、null
、undefined
或数字时,总是以字符串的方式保存,不会自动转换数据类型。foo&bar=2
或foo=&bar=2
中的foo
),其值将解析为空字符串。已知缺陷
foo[]
或foo[bar]
都不会被视为特殊含义,只会视为普通的 key。示例
_.url.getParam(key)
获取当前页面的某个 URL 参数的值。(“URL 参数” 即为 query string 中的名值对。)
参数
key
-- 字符串。需要获取的 URL 参数名,忽略大小写。返回值
字符串或
undefined
。对应 URL 参数的值。注意事项
_.url.parseQuery()
方法。history.pushState()
等方法时),返回结果总是当前的。示例
假设当前页面的 URL 为
http://domain.com/path/file?foo&bar=2
,此时:_.url.appendParam(url, param)
为给定的 URL 附加新的参数。
参数
url
-- 字符串。待处理的 URL。param
-- 对象。需要附加的 URL 参数(名值对)。返回值
字符串。已附加 URL 参数的新的 URL。
示例
_.url.parseUrl(url, [part])
解析 URL 的各个组成部分。URL 各个组成部分的名称及含义如下:
protocol
-- 协议hostname
-- 主机名port
-- 端口号host
-- 主机(含端口号)pathname
-- 路径(含文件名)search
-- query string 部分(含开头的?
字符)hash
-- hash 部分(含开头的#
字符)可以看出它们和
location
对象的各个 key 的含义相同。参数
url
-- 字符串。需要解析的 URL。若此 URL 不完整,则视为相对路径,以当前页面为基准进行解析。part
-- 字符串。可选参数。需要解析 URL 中的特定部分,合法的取值参见上述 “URL 的各个组成部分” 的名称。返回值
{}
)。part
参数时:对象。整个 URL 的解析结果,URL 的各个组成部分以名值对的方式保存。part
参数时:字符串。URL 中的指定部分的值。如不存在某个部分,则值为空字符串。注意事项
port
的值并不会被转换为数字。示例
The text was updated successfully, but these errors were encountered: