TypeError:$ .url不是函数

时间:2016-07-11 12:04:54

标签: javascript ruby-on-rails

我在app / views / reports下有一个名为_report_js.html.erb的javascript文件。当我运行我的应用程序时,我收到错误:

  

TypeError:$ .url不是函数

这是我的代码:

<script type="text/javascript">
    if($.url().param('ig') == 'true') {
      alert("hi");
      $('#icons').hide();
      $('#photos').show();
    end
</script>

3 个答案:

答案 0 :(得分:4)

$.url() 

不是jQuery Core的一部分。如果你想要实现类似的东西,可以使用

var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
};

使用它:

var tech = getUrlParameter('technology');

在你的例子中它会像这样

if(getUrlParameter('ig') == 'true') {

source

答案 1 :(得分:0)

//Just use this, no need to do loops:
    var getUrlParameter = function getUrlParameter(sParam) {
        var r = "";

        if (window.locaton.href.substring(window.locaton.href.indexOf(sParam + "="))) {
            r = window.locaton.href.substring(window.locaton.href.indexOf(sParam + "=")(sParam + "=").length + 1);
            // trim if there is other parameter on the list
            if (r.indexOf("&") > 0)
                r = r.substring(0, r.indexOf("&"));
        }
        // please do some simple test, I just wrote it without testing the code
        return r;
    }

答案 2 :(得分:0)

您的代码可能假设已加载库purl库https://github.com/allmarkedup/purl但未加载或无法访问。

您可以尝试替代方法:

if(purl().param('ig') == 'true') {