javascript - 如何获取参数名称?

标签 javascript jquery html css

<分区>

我有一个类似这样的网址:

//my-url-adresses.com/web/Assets/js/javascripts?v=5.2&marker=2017-05/logo_30dKmOHPNLq8CfiOYfqhmarkerv2.png&cdn=//cdn.mywebsite.com/files/

我想得到这部分:(在 cdn= 之后):

//cdn.mywebsite.com/files/

我在下面提供了我的代码。请纠正我错的地方。提前致谢。

var scripts = document.getElementsByTagName('script');
var index = scripts.length - 1;
var myScript = scripts[index];
var scripturl = myScript.src;
var cdnUrl = getParameterByName("cdn", scripturl);
var markerUrl = getParameterByName("marker", scripturl);


function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}


console.log(markerUrl);
<script id="scripts" src="//my-url-adresses.com/web/Assets/js/javascripts?v=5.2&amp;marker=2017-05/logo_30dKmOHPNLq8CfiOYfqhmarkerv2.png&amp;cdn=//cdn.mywebsite.com.com/files/" defer></script>

最佳答案

我注意到您的代码无法使用索引属性访问脚本 url。我还注意到您的脚本标签中有 id 。最好使用它,否则如果您在页面底部的页面中有一些具有某些功能的脚本标签,它会得到那些(因为您在页面中找到最后一个脚本标签)并且因为它没有有 src 它不会获取结果。

这是一个使用 getElementById()

的解决方案

var myScript = document.getElementById('scripts');
var scripturl = myScript.src;
var cdnUrl = getParameterByName("cdn", scripturl);
var markerUrl = getParameterByName("marker", scripturl);


function getParameterByName(name, url) {
    url = decodeURIComponent(url);
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}


console.log(markerUrl);
<script id="scripts" src="//my-url-adresses.com/web/Assets/js/javascripts?v=5.2&amp;marker=2017-05/logo_30dKmOHPNLq8CfiOYfqhmarkerv2.png&amp;cdn=//cdn.anitur.com/web/" defer></script>

关于javascript - 如何获取参数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45790423/

上一篇:html - 使用 CSS Flex 框设置样式的元素出现在父元素之外,并且不与父元素垂直对齐

下一篇:css - 为什么 Bootstrap 的类 navbar-fixed-top z-index=1030?

相关文章:

javascript - 单击按钮时隐藏边框样式

JavaScript 非常简单 : 'Read more' . 。 .' Show Less' 应用于 WordPress 的功能?

jquery - 使用 jquery 为跳过的必填字段着色

html - HTML5 &lt;header&gt;、<section> 和 &lt;footer&gt; 标签的语义到底是如何工作的?

html - 图像之间不需要的间距

javascript - 如何使用javascript从url字符串中提取url文件扩展名

javascript - jQUERY 单独添加和删除类

javascript - Angular 嵌套 ng-repeat 在第三层不起作用

javascript - 是否可以在单击时将类(特别是其动画)重置回其初始状态

html - (HTTP) 在 URL 中隐藏页面扩展