【问题标题】:Set a default URL parameter if none is specified or is blank如果未指定或为空,则设置默认 URL 参数
【发布时间】:2017-09-11 05:37:54
【问题描述】:

我有这个代码:

    function getURLParameter(name) {
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''
    );
}

在我的 HTML 中,我使用以下方法标注了用户的设备品牌和型号:

<script>document.write(getURLParameter("brand") + (" ") + getURLParameter("name"))</script>

唯一的问题是这仅适用于某些移动设备。当它不起作用时,它只是留空。如果默认值是空的,有没有办法添加默认值?

【问题讨论】:

    标签: javascript url parameters parameter-passing url-parameters


    【解决方案1】:

    您可以简单地将值与

    if(name === " " || name == null) {
        //code
    }
    

    if(name !== " " || name != null) {
        return decodeURI(
            (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''
        );
    }
    

    【讨论】:

    • 不太清楚它是如何实现的(我是新手)function getURLParameter(name) { if(name === " " || name == null) { return decodeURI( (RegExp(name + '=' + '(.+?)(&amp;|$)').exec(location.search)||[,null])[1] || '' ); } } 没有价值时,一切都是空白。
    • 在Js中,当一个变量没有值时默认为null,所以当你获取一个值作为参数时,它可以为null。只需在解码变量值之前检查函数内部。
    • 我仍然不知道该怎么做 :( 澄清一下,我想为返回值设置一个默认值,而不是实际的参数名称。例如 &brand=Samsung。如果 URL 中不存在“三星”,我希望将其替换为“移动设备”
    • 在发送变量之前放置第一个条件,如果它为真,则将值更改为“移动设备”,
    • 感谢到目前为止的帮助,但正如我所说,我仍然只是一个初学者。有没有什么地方我可以读到如何做这个特定的任务?我什至不知道从哪里开始。
    猜你喜欢
    • 2015-10-12
    • 2022-06-19
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 2013-03-23
    • 2016-01-02
    • 2021-12-16
    相关资源
    最近更新 更多